Inspiration
Agri-Gator started with JAKI, Jakarta's super app. JAKI exists because a resident shouldn't need five different agencies to report a pothole, call an ambulance, and check a permit, only to be redirected between them. It worked, JAKI improved the life of Jakartians.
Problem is, nobody built that for farmers.
An Indonesian smallholder needs BMKG for the weather, Bank Indonesia's PIHPS for what their harvest is worth, Kementan for agronomic guidance, and the label on a pesticide bottle for the dose. Four institutions, four websites, none built for the phone in their pocket. And unlike a Jakarta resident, there's no office to walk into, the nearest one is a district away.
So the gap was never the data. Indonesia publishes all of it, free and public, updated daily. The gap is that it's scattered across four agencies that will never talk to each other, in formats written for civil servants rather than for someone standing in a field.
An aggregator is a collection of separate parts combined into a single whole. JAKI aggregated a city. Agri-Gator aggregates a field, a farm, a life.
What it does
Agri-Gator puts five things a smallholder farmer needs into one app, keyed to their village:
- Planting Calendar: cross-references BMKG's 3-day forecast and live nowcast warnings against your crop's water needs to recommend a planting window and harvest timing.
- Market Price Board: the price of your harvest from Bank Indonesia's PIHPS, defaulting to Produsen (farm-gate) prices for your own province: what you'd actually be paid, not what it retails for. Toggle to see the pasar price, the gap between the two is roughly the middleman's margin.
- Dosage Calculator: turns the concentration printed on your pesticide bottle into how much goes in each sprayer tank and how many tanks your plot needs. Draw your field on satellite imagery and it computes the area for you.
- Crop Yield Prediction: a Random Forest trained on historical FAO data, estimating yield from rainfall, pesticide use and crop type.
- Agriculture News: farming and policy news in one feed.
Underneath it all: you set your village once, and BMKG warnings, prices, and advice all follow you there.
How we built it
We built or app using Next.js 16 and TypeScript on Vercel, with the design boostrapped by v0 (by Vercel). Our Backend consists of Supabase for Google OAuth and Postgres, storing the user's location and data for a personalized dashboard.
Our API consists of:
- BMKG: weather API plus the nowcast early-warning RSS feed, filtered to the user's kecamatan and province, cached 3 minutes.
- PIHPS Nasional (Bank Indonesia): commodity price API, pushes into our Supabase database updated per day (with a manual script).
- Gemini: generates planting advice based on the paramaters forwarded by the BMKG API.
- Leaflet + Esri World Imagery: plot drawing to calculate hectares and areas for dosage calculation.
- Permendagri 72/2019 wilayah dataset for village-level location search.
Challenges we ran into
- Inconsistent API availability: Gemini API Key was one of the most frustrating, it kept giving error 500, stating that there is usage spike around the world, and suddenly gives a 429 "Too many requests" error, leaving us unable to test the feature for a couple of hours
- Computer Vision model training took too long, so we scraped it: We originally planed to have a computer vision model that could be used to analyse plant health, in which a yolo26 model will first crop the leafs of a plant into different pictures, and then a custom trained ResNet model will classify if the plant is healthy for not. But since we did not have enough time to train for the large number of classifications that are needed, we decided to scrape this idea.
Accomplishments that we're proud of
We're really proud to be able to complete the project on time, even when we were exposed to new tools and framework features that we have never used. Since this hackathon is the first hackathon for 2 of our members, even completing the project is already a massive achievement, even for the other 2 of our members who had already participated in a hackathon.
What we learned
One of the thing that we learnt about information and data is that data was never really the problem. Indonesia hasn't had a problem with scarcity of data, the problem was actually different agencies, BMKG, Bank Indonesia, and Kementan, having their own name, format, and data structure. Their format for provinces are even different. This makes it overwhelming for day-to-day users to piece together data for their work.
What's next for Agri-Gator
We hope first fix the problems that we experienced as mentioned, such as the Computer Vision model, and hope to expand the features that our app has, like JAKI, a super app.
Built With
- esri
- gemini
- javascript
- leaflet.js
- nextjs
- python
- react
- supabase
- tailwindcss
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.