Inspiration

Meet Pak Hendra, a mangosteen farmer in Purwakarta, West Java. For eight years he has tended roughly 400 trees a day by hand — pruning, watching, waiting — for a harvest window that lasts only six to eight weeks a year. Get the timing wrong and the market is brutal: underripe fruit sells at a 20–50% loss to processors and juice factories, and overripe fruit is rejected from the export chain entirely. Across Southeast Asia's mangosteen belt, around 15% of fruit is wasted every season — not to pests, not to weather, but to guesswork. That last part is the one variable a farmer can actually change, and it's what set us off building GoodFruit: a vision-first harvest timing tool for mangosteen farmers.

What it does

GoodFruit helps mangosteen farmers know exactly when to harvest. Mangosteens conveniently wear their ripeness on their skin — exocarp pigmentation moves through six stages from yellow-green (Stage 0) to past-ripe black (Stage 5), with Stage 3 as the harvest sweet spot. That's exactly the kind of problem computer vision was built for.

The product comes in two forms so it meets each farm where it is. For a smallholder like Pak Hendra, it's a phone app: point at a fruit cluster, hit Scan, and within a second you get a verdict — Pick Today, Soon, Watch, or Past — with a confidence score, the detected stage, and an estimated harvest window in days. Scans save to a tree-by-tree harvest log (exportable as CSV), and a dashboard rolls them up into a block-level ripeness heatmap, a stage distribution, and counts like "pick today," "ready this week," and trees still to scan. It works offline and syncs when signal returns, with Bahasa, Thai, Vietnamese, and Khmer support.

For larger estates, the same model rides on autonomous drones doing pre-dawn transects. By breakfast, crew leads have a block-by-block harvest plan, a truck schedule, and a 3-day forecast.

How we built it

The core is a ripeness classifier trained on the six-stage exocarp color taxonomy, served behind a single Scan endpoint that returns stage, confidence, and a days-to-harvest window. Around it we built two front-ends sharing the same model:

A mobile-first web app with the Scan / Log / Dashboard / About flow — including a color-test fallback so the classifier can be sanity-checked even without fruit in view, an offline-capable harvest log stored locally, and CSV export. The dashboard renders the block heatmap, stage histogram, and the "pick today / ready this week / total scanned / more to go" tiles live from log data.

A drone pipeline that takes the same classifier and stitches per-tree predictions into a hectare-scale ripeness heatmap, then converts it into a harvest plan and 3-day forecast. Every phone scan and every drone pass feeds back into a shared regional model, so farmers on the edge of the network get the same forecast confidence as the farm at the center.

Challenges we ran into

The visual cue is reliable but the lighting is not. Skin color is the single most reliable ripeness signal, but orchard lighting — dappled shade, overcast, golden hour — moves measured RGB around badly. We had to make the classifier robust enough that a 57%-confidence Stage 2 reading is honest about being 57%, not falsely confident.

Connectivity in the orchard. Pak Hendra's 400-tree day doesn't pause for a cell tower, so the app had to work fully offline, store scans locally, and sync cleanly when signal returned — without ever blocking the next scan.

Trust and data ownership. Asking farmers to feed every pick into a shared model is a big ask. We landed on three commitments built into the product: anonymized (no farm data leaves without consent), region-aware (microclimate, altitude, and cultivar tracked per valley rather than aggregated globally), and co-op owned so farmers share in the upside.

Two very different users, one model. A smallholder pointing a phone at a cluster and an estate flying drones over hectares need wildly different UX, but they have to share a single classifier and a single regional forecast — otherwise the network effect breaks.

Accomplishments that we're proud of

A working end-to-end loop: point phone at fruit → get a Pick Today / Soon / Watch / Past verdict with confidence and a window, in under a second, saved to a harvest log that rolls up into a live block-level heatmap and dashboard.

A second deployment mode — autonomous drone fly-overs producing a 1,284-tree ripeness heatmap and a 3-day forecast — running off the same underlying classifier as the phone app.

A genuinely farmer-shaped product: offline-first, four local languages out of the gate (Bahasa, Thai, Vietnamese, Khmer), CSV export so farmers can take their own data with them, and a co-op ownership model rather than an extractive one.

A clean brand and pitch — a tone that takes mangosteen farmers seriously as the primary user, not as a backdrop for the technology.

What we learned

That timing, not effort, is the variable to attack. Pak Hendra is already pruning, watching, waiting; what the season turns on is when he picks, not how hard he works. Reframing "harvest help" as "timing help" cut the problem to its useful core.

That exocarp color is a gift. Mangosteen is a rare crop where the most reliable maturity signal is exactly the one a camera can see, which means a relatively small model can punch well above its weight on real economic outcomes.

That the right unit of intelligence isn't the farm — it's the region. Mangosteens in one valley ripen on a different curve than another twenty kilometers away, and a single farm's data is too sparse to forecast on. Federating across a co-op makes everyone's forecast better, including farms at the edge of the network.

That farmers will adopt tools that respect them. Offline support, local languages, data ownership, and CSV export sound like checkboxes, but together they're the difference between "an app someone tried once" and "a tool a 400-tree-a-day farmer uses every morning."

What's next for GoodFruit

Beyond mangosteen. Exocarp color works for mangosteen because it's the cleanest signal in tree-fruit; the same classification + harvest-window pattern extends to other tropical fruit (rambutan, passionfruit, lychee, certain mango cultivars) where skin color changes meaningfully through ripeness.

Closing the loop from forecast to logistics. The drone product already produces a block-by-block plan and a truck schedule; the next step is plugging that schedule directly into co-op packhouse intake and export-grade sorting, so the Pick Today call upstream becomes a Container Loaded outcome downstream.

Scaling the regional model. Every phone scan and every drone pass should make next week's forecast better for every farmer in the region — not just the one who scanned. Growing the network density (more farms, more scans, more cultivars per valley) is the path to the "same confidence at the edge as at the center" promise.

Built With

  • canva
Share this project:

Updates

Submission history