Inspiration
Agriculture is the backbone of Indonesia; it employs roughly 1/3 of the country's labor force in 2023 and 93% of Indonesian food producers are small family farms (smallholders), and many more households depend on farming. When a bad season hits, it isn't just a statistic, a family's monthly income is gone.
And bad seasons are just emerging more and more day by day, and smallholders are simultaneously hit by unpredictable weather and volatile markets: On the climate side, every 1°C rice in average temperature is estimated to push food-production costs up 1-2% across Southeast Asia, and climate change is already shifting planting seasons, increasing pest and disease pressure, and cutting yields. Marketwise, studies using ARCH/GARCH models find the price of chilis and shallots highest in volatility at the producer level and lowest at the consumer level, farmers absorb the swings. Even worse, middlemen whom farmers depend on for pre-harvest loans, can exploit what farmers don't know about where prices are heading.
What frustrates us is that the data to solve all of this already exists. Open-source weather forecasts, satellite climate data, price panels, soil maps, and more. Yet it's all scatted, raw, and never turned to actionable insights. And the gap shows, only 30% of Indonesian farmers use any digital agriculture app, with surveys of shallot farmers citing low digital literacy as the #1 barrier.
This is where Tani-Genie comes in, a white-space of farmers who simply has no need for enterprise-level software, lightweight & scalable, and hands the farmer one plain-language, crop-specific decision: when to plant, when to spray, when to irrigate, and when to sell. Not a dashboard of numbers, but a companion that tells them what to do today.
What it does
Tani-Genie is a genie for your farming journey it turns scattered public data (weather, satellite climate, soil, price panels) into the one thing a farmer should do today, tailored to the crops in their field.
Add a crop, get a plan. Register a plot, pick a crop (rice, shallot, garlic, cayenne, red chili), and instantly see expected yield + input cost. Set a planting date, or if it's already growing, just pick its current stage.
A living calendar. Each crop gets a plant-to-harvest schedule of tasks, grounded in peer-reviewed crop science. It's not static: using daily temperature (Growing Degree Days), it shifts the timeline with the real weather, a hot spell pulls harvest earlier, a cool one later.
It watches the weather so you don't have to. Track the signals you want (temperature, humidity, rainfall, soil moisture, pH) from our data or your own IoT sensor. When Tani-Genie spots a disease or drought risk, it adds one simple task to your calendar, *"spray this afternoon," "soil is dry, water more", before it becomes a lost harvest.
It tells you when to sell. Chili and shallot prices swing hard, and farmers bear the worst of it. Tani-Genie forecasts prices 8 weeks out and marks the best window to sell.
Morning To-Do list Kebunku ("my garden") rolls every crop's tasks into a single to-do list. Verdict-first, in Bahasa Indonesia, works offline, and reaches farmers.
In one line: Tani-Genie unifies weather, disease risk, and price into a living calendar that tells each farmer the one thing to do today.
How we built it
Every automated decision traces back to peer-reviewed agronomy or an established forecasting method.
Growing Degree Days (GDD): Heat-driven crop scheduling Crops develop by accumulated heat, not calendar days. We compute daily GDD as the mean temperature above a crop's base temperature (with standard high/low cutoffs) and use the running total to advance each crop's stage and harvest date. This makes the planting calendar react to real weather.
Base temperatures (shallot/garlic ≈ 4 °C; chili ≈ 10 °C; rice ≈ 10–12 °C) from peer-reviewed FAO56-based reviews of crop temperature thresholds (Base and upper temperature thresholds for FAO56, Agricultural Water Management / ScienceDirect).
Crop phenology (growth stages): BBCH & validated crop models Each crop's stages and their timing come from peer-reviewed phenology:
- Garlic: BBCH phenological scale — Lopez-Bellido et al. (2016), Annals of Applied Biology 169(3).
- Chili (rawit & merah): BBCH-identification keys for Capsicum — Feldmann et al. — and the validated WOFOST-Chili developmental-stage model (Agricultural Systems, 2023).
- Rice: IRRI three-phase model (vegetative / reproductive / ripening) — IRRI Rice Knowledge Bank; Staging of Rice Plant Growth, Springer 2024.
Agronomic task timing: Fertilizer and irrigation schedules are drawn from Ministry of Agriculture (Kementan/Cybext) and BBPP extension guidance and a Universitas Mataram field study. (These are extension/field sources, not peer-reviewed, labelled as such in our knowledge base.)
Pest & disease early warning: weather-driven infection models A research service for weakly supervised crop disease-risk classification. It converts recent weather, soil-moisture, wetness, and vegetation observations into disease-specific environmental risk scores. The service is designed for early warning and field-inspection prioritization. Its output is a risk flag, not a diagnosis that a crop is infected.
Reference evapotranspiration Irrigation advice uses a water balance of rainfall minus crop water demand, where demand derives from ET₀ (FAO Penman-Monteith). We consume ET₀ directly from the NASA Power API.
Price forecasting A price predictor for five staple Indonesian commodities which is beras, bawang merah, bawang putih, cabai merah, and cabai rawit across four market levels (pasar tradisional, pasar modern, pedagang besar, produsen) and Indonesia's 34 provinces using LightGBM as it's model.
Challenges we ran into
Accommodating to every farmer. We want our product to be flexible, to be the friend that accompanies them in their farming journey, without being overcomplicated. For that, we made a few compromises that we feel are justified in its simplicity.
- Web Scrapping is Hard! At first, we thought that gathering the dataset needed for the machine learning algorithm would be easy. Turns out, there are very limited data in Indonesia and when there's one, scrapping it can make you insane cough BMKG.
- IoT vs API Pull flexibility: We didn't want to enforce an IoT-first or API-pull first data, so we decided each crop's main data points can be inputted and utilized interchangeably, from both IoT and API-pull, so each farmer can tailor their "kebunku" to their specific needs and sensor-availability.
- Incomplete data: When a live source is unavailable, the application clearly communicates that data is unavailable or that it is waiting for an IoT reading. We chose transparency over displaying dummy values that could mislead farmers.
Accomplishments that we're proud of
- We implemented configurable API and IoT data sources at the crop level, allowing the system to adapt to farmers with different levels of sensor availability.
- We kept the interface mobile-first and accessible, recognizing that many farmers will interact with the platform primarily through their phones
- We built an end-to-end crop-management experience where farmers can register their land, add a crop, configure its planting information, and monitor it from one place.
What we learned
- How to conduct a comprehensive market-research and UI/UX development, helping to streamline the overall technical production process, making coding the entire project feel seamless and messy.
- Extrapolating from multiple data points with varying levels of variability, especially in the Crop Catalogue (KebunKu), providing a degree of prediction given varying data type availability.
- Multi-layering dynamic ML models with classification fallback design can still provide insights whilst being transparent.
What's next for Tani-Genie
Full-fledge IoT integration. Right now, our IoT integration system is subpar, however given more time and resources, we could potentially create a truly flexible all-in-one digital stop for agrotech needs.
Built With
- dt
- fastapi
- lightgbm
- node.js
- numpy
- pandas
- pnpm
- postgresql
- prisma
- pydantic
- python
- react
- scikit-learn
- tailwind
- typescript
- uvicorn
Log in or sign up for Devpost to join the conversation.