Skip to content
Fadhil Muhammad

Building GEMA Plantation and GEMA Factory

FadhilMuhammad

Software engineer and IT consultant digitising palm oil operations, from field to office.

I work out how a business actually runs, design the system around it, and build it. Lately that means palm oil plantations and mills: field apps that work offline, dashboards for management, and the ERP integration in between.

Based in
Medan, Indonesia
Building since
2023
Currently
Software Engineer
Fadhil Muhammad's ID card — Pamulab, software engineer

Worked and trained with

  • Semesta Agri Solusi (GEMA)
  • Samta Cloud
  • DNA Group (DMB App)
  • Freelance
  • BEKUP × Dicoding
  • Bangkit Academy by Google, GoTo, and Traveloka.
  • Kampus Merdeka
  • Mikroskil University
  • BITSMIKRO

Selected work

Recent work, start to finish.

A short preview of each. The full case studies cover the problem, my role, the decisions and the results.

All case studies
  • Illustration of a field app with a harvest work record and on-device fruit ripeness detection, an NFC card, and a web dashboard with production charts and a map
    Mobile + web + AIGEMA Plantation

    Taking palm oil plantation work off paper

    • Supervisors wrote in notebooks, and clerks re-typed it a day later
    • Offline-first Android app, with NFC cards where there's no signal
    • On-device ripeness detection, and an AI assistant in the CMS

    1× recorded once in the field, no re-typing in the office

    • Kotlin
    • Hilt
    • Room
    Read case study
  • Semesta Agro homepage: headline about managing plantation and mill from one platform, next to a grid of ERP modules
    Web · B2BSEMESTA AGRO

    Company website for a palm oil IT-Consultant Company

    • The old site was a logo and nothing else
    • A story that moves from what it is, to why trust it, to booking a demo
    • An interactive explorer for an ERP that spans estate, mill and head office

    10 sections telling one story, from hero to offices

    • Next.js
    • React
    • Tailwind CSS
    Read case study
  • Illustration of a maintenance app scanning a machine QR code, an issue form with readings marked normal, warning and critical, and a list of work orders
    Mobile appGEMA Factory

    A maintenance app for a palm oil mill

    • Breakdown reports arrived late, and paper work orders got lost
    • Scan the machine's QR code to see its history and report an issue

    11 work order types, from repair to calibration

    • Flutter
    • Dart
    Read case study
  • Illustration of an NFC delivery card tapped on a USB reader at the weighbridge, a palm fruit truck, and the OneTap-SPB window showing the card's delivery note saved to the database. Demo data.
    Desktop app + NFCOneTap-SPB

    One tap from NFC card to database at the mill weighbridge

    • Delivery notes were re-typed while trucks queued at the weighbridge
    • Tap the card on the reader, the data is checked and saved

    1 tap to move a delivery note from card to database

    • Python
    • CustomTkinter
    Read case study

About

Engineer by trade, analyst by habit.

Portrait of Fadhil Muhammad in a white shirt against a dark green wall

Medan, Indonesia · UTC+7

I start with the problem, not the framework. I sit with the people doing the work, map how it really happens, then design and build the system behind it.

Field and mill apps for palm oil companies, a product site for a plantation ERP, self-ordering kiosks, and a Flutter cohort I helped teach.

More about me

3+

years building software

28

projects designed or built

15+

training sessions supported

6+

clients served

Right now

Software Engineer, leading GEMA Plantation and GEMA Factory

B. Informatics Engineering, GPA 3.91

What I do

From the field visit to the training session.

Consulting, analysis, development and the material that explains it, by the same person. Fewer hand-offs means less gets lost.

IT consulting

You know something isn't working, but not what to build.

I go on site to estates, mills and outlets, talk to the people doing the work, and map the process as it really is. Then I write a plan you can act on: what to build, what to buy, and what can wait.

  • Field study
  • Process map
  • Scope & estimate
  • Build or buy
Example: GEMA Plantation

Systems analysis

The requirements live in people's heads and in spreadsheets.

Interviews turned into documents a team can build from: user flows, a data model and API contracts, agreed before anyone writes code.

  • User flows
  • ERD
  • API spec
  • Wireframes
Example: P3 System

Development

There's a plan. Now it has to ship and stay up.

Kotlin and Flutter on mobile, including offline-first apps and on-device AI. Next.js and .NET Core on the web, connected to the ERP behind them.

  • Android & Flutter
  • Web apps & CMS
  • APIs & ERP sync
  • CI/CD
Example: GEMA Factory

Team lead & training

The team needs to deliver, and the users need to adopt it.

I lead a small team (usually two developers, up to four) through reviews and pairing, train the people who'll use the system, and support clients online and on site.

  • Code review
  • User training
  • Client support
  • Docs in Notion
Example: BEKUP × Dicoding

Design & presentations

The system is good, but nobody outside the team understands it yet.

UI in Figma, plus the material that explains and sells it: product presentations, company profile decks and brochures for GEMA Plantation and GEMA Factory, made in Canva and Photoshop.

  • UI in Figma
  • Product decks
  • Company profile
  • Brochures
Example: SEMESTA AGRO

Tools I use most

Mobile

  • Flutter
  • Provider
  • Dio
  • Freezed
  • Kotlin
  • Hilt
  • Room
  • CameraX
  • NFC
  • Bluetooth
  • TensorFlow Lite

Web

  • Next.js
  • React
  • TypeScript
  • Tailwind CSS
  • TanStack Query
  • Redux
  • Motion
  • Leaflet

Backend & infra

  • .NET Core
  • SQL Server
  • MySQL
  • Firestore
  • ASP.NET Web Forms
  • Crystal Reports
  • Node.js
  • Prisma
  • Docker
  • IIS
  • Vercel
  • Plesk
  • NGINX
  • GitHub Actions

AI integration & monitoring

  • TensorFlow Lite
  • YOLOv8
  • LLM APIs
  • Prometheus
  • Grafana
  • Sentry
  • Crashlytics
  • Postman
  • Swagger

Analysis & design

  • User flows
  • ERD
  • Wireframes
  • Figma
  • Canva
  • Photoshop
  • Notion

How I work

How I run a project

Six steps, each ending with something the client can look at, so decisions get made while they're still cheap.

  1. Discover

    Field visits, interviews with clients and field staff, and a look at the paper and spreadsheets in use.

    Field notes

  2. Analyse

    Map the current process and agree on what better looks like.

    User flows, rules

  3. Design

    Data model and wireframes. Cheap to change at this stage.

    ERD, wireframes

  4. Build

    Small increments the client can click through, shipped with CI/CD.

    Working software

  5. Ship

    Release, train the people who'll use it, and present it to management.

    Training, deck

  6. Support

    Stay close after launch, online and on site, and plan what comes next.

    Backlog

In practice

  • On site

    I visit estates and mills for field studies, and gather requirements directly with clients and the people who'll use the system.

  • Lightweight agile

    Short cycles with estimates up front, documentation in Notion and Discord for day-to-day talk. Scrum boards in ClickUp, Jira or Trello where the team uses them.

  • Small team

    I lead two to four developers on the GEMA products, with code review and pairing.

  • Present & train

    I present to clients and management, write the training, and support users after launch.

Working with AI

AI speeds up the work. The judgment stays mine.

I work alongside AI every day to think things through, learn faster and get first drafts done sooner. Understanding the business, deciding what to build and answering for the result stay with me.

  • Claude
  • Claude Code
  • ChatGPT
  • Codex
  • Gemini
  • Antigravity
  • GitHub Copilot
  • Cursor
  • Perplexity
Roman Sculpture style bust of a person, half in marble and half in wireframe, with AI logos floating around it

Experience

Where I've done the work.

Full history & education
  1. Dec 2025 – Present

    Medan · Full-time · On site and with clients

    Software Engineer

    Green Harvest Solutions · PT Semesta Agri Solusi

    • Lead GEMA Plantation and GEMA Factory with a team of developers and implementators, from field studies and requirement gathering to estimates, presentations and delivery.
    • Built GEMA Factory, a Flutter mill maintenance app: preventive maintenance, work orders, approvals, workshop activities, reporting and role management.
    • …and 5 more.
    • Product lead
    • Consulting
    • Full-stack
    • Field work
  2. Nov 2025 – May 2026

    Medan · Part-time · Project-based

    Software Engineer

    Samta Cloud

    • Developed a Flutter app for hospitality and hotel maintenance operations, digitising day-to-day maintenance workflows.
    • Owned UI implementation, REST API integration and state management, using clean architecture to keep the app maintainable.
    • …and 1 more.
    • Flutter
    • Clean architecture
    • Hospitality
  3. Nov 2023 – Apr 2026

    Remote · Self-employed

    Product Engineer

    Freelance

    • Worked directly with clients to find the core problem and turn business needs into working software.
    • Analysed and built a purchasing, sales and inventory (P3) system for a POS and stock business: process diagrams, wireframes, data model, then full-stack build.
    • …and 2 more.
    • Consulting
    • System analysis
    • Full-stack
    • UI/UX
  4. Jul 2025 – Nov 2025

    Remote · Part-time

    Flutter Facilitator

    BEKUP × Dicoding Indonesia

    • Facilitated weekly online sessions and tracked progress for participants from very different backgrounds.
    • Reviewed and validated participant journals with 100% compliance to programme standards.
    • …and 2 more.
    • Mentoring
    • Facilitation
  5. Oct 2024 – Sep 2025

    Medan · Hybrid · Full-time

    Flutter Developer

    DMB · PT Damai Nusa Abadi (DNA Group)

    • Designed and built the self-ordering app for Android TV kiosks and tablets: UI/UX, API integration and state management.
    • Built attendance with facial recognition and fake-GPS detection, notifications, and offline mode for POS.
    • …and 2 more.
    • Product delivery
    • Flutter
    • Stakeholders
  6. Aug 2019 – Nov 2019

    Medan · Vocational school field practice

    Graphic Designer (Internship)

    Sentosa Digital Printing

    • Handled graphic design requests directly with clients, adapting to different client types and briefs.
    • Design
    • Client work

Leadership & community

  • Master of CeremoniesUniversitas Mikroskil · Nov 2023
  • PresidentBITSMIKRO, Informatics Student Association · Sep 2022 – Sep 2023
  • Mentor AssistantUniversitas Mikroskil · Jan 2023
  • Peer Tutor Study GroupKampus Merdeka × Dicoding, Studi Independen · Aug 2022 – Dec 2022
  • Media & Information Division StaffBITSMIKRO, Informatics Student Association · Dec 2021 – Sep 2022

Recognition

What people say, and what's on record.

“Fadhil sat with our team, drew the process on a whiteboard, and caught edge cases we'd missed. What he shipped matched what we agreed.”
Client nameOperations Lead · Plantation client
“He owned the kiosk app from UI to API integration and kept it stable on very different screens. Easy to hand work to.”
Colleague nameEngineering Lead · Previous employer
“Patient, structured, and good at explaining the why. Our study group finished stronger because of his peer-programming sessions.”
Participant nameFlutter learner · BEKUP 2025

On record

  • Best GraduateKampus Merdeka × Dicoding, 2022
  • GPA 3.91 / 4.00Informatics Engineering, Universitas Mikroskil
  • Bangkit Academy graduateMobile Development, 2023 cohort
  • President, BITSMIKROStudent association, 2022 – 2023
  • Peer TutorKampus Merdeka × Dicoding study group, 2022

Certifications & programmes

  • Flutter Developer ExpertDicoding Indonesia, 2022
  • Android Developer (Kotlin, Xml)Bangkit Academy, 2023
  • Back-End Developer (Node.js)Dicoding Indonesia, 2022
  • Belajar Penerapan Machine Learning untuk Flutter
  • Learn SOLID Programming Principles
  • Learn Git Basics with GitHub

Have a process that should be a system?

I'm not looking for a new role, but I'm always up for a conversation about a system, a process or a collaboration.