Inspiration Nearly 86% of Indian farm holdings are under two hectares, and most smallholder farmers have no affordable way to get a fast, reliable opinion when a crop starts showing signs of disease. Today, that gap gets filled by informal WhatsApp groups and local pesticide dealers — sources that are slow, inconsistent, and often biased toward upselling. By the time a farmer gets a real diagnosis, two to three weeks can pass, and the yield loss is already locked in. We wanted to build something that gives farmers the same kind of fast, trustworthy second opinion a home gardener gets from a plant app — but grounded in local language, local weather, and local context, not a generic template. What it does AgriSense AI lets a farmer photograph a leaf, pick their crop, and get back two things in seconds: a disease diagnosis with a confidence score, and a plain-language advisory covering the likely cause, an immediate action to take, and how to prevent it next season. The advisory is generated dynamically — not pulled from a static database — so it can adapt to language (English or Hindi) and explain why it reached that conclusion by listing the visual symptoms it matched, rather than handing back an unexplained label.

How we built it We built AgriSense AI on Replit, using its Agent to scaffold a full-stack app in a single Repl — a mobile-first React + Tailwind frontend paired with a FastAPI backend. That let us skip environment setup entirely and iterate on the real pipeline right away: an image classifier trained on leaf-disease data returns a diagnosis and confidence score, which — along with crop type and local weather — feeds into an LLM prompt that generates the structured advisory. Working inside one Repl made it easy to keep frontend and backend in sync as we wired the pieces together in real time rather than juggling separate local setups.

Challenges we ran into Getting the LLM to produce advisory text that was genuinely actionable rather than generic ("consult an agronomist") took several rounds of prompt iteration — we had to explicitly constrain it to concrete, farmer-executable steps rather than hedged professional-sounding advice. Balancing model confidence with honesty was another one: it was tempting to always show a confident-looking result, but we decided a "not confident enough, try a clearer photo" response was more trustworthy than a shaky guess. We also had to keep scope aggressively narrow — it was easy to want to support every crop and disease, but a working flow for four crops beat a broken flow for forty.

Accomplishments that we're proud of We're proud that the whole loop — photo in, trustworthy advisory out — actually works end-to-end, not just as a UI mockup. We're also proud of the explainability layer: showing the farmer why the model reached its conclusion, not just the conclusion itself, which came directly out of talking throug What we learned We learned how much of "AI for agriculture" is really a translation problem — not language translation alone, but translating a model's raw output into something a non-technical user can act on with confidence. We also learned how much scope discipline matters in 48 hours: the features we cut (WhatsApp integration, season-long tracking, voice input) were often more tempting to build than the core loop, and resisting that was as important as any line of code we wrote.

What's next for AgriSense AI Near term, we want to expand crop and disease coverage, add a WhatsApp Business API interface for farmers without reliable app access, and support offline/low-bandwidth use. Longer term, we see a path to a genuine public-good layer: aggregating anonymized diagnoses regionally to flag emerging disease outbreaks before they spread — something that could plug into India's Digital Agriculture Mission and partner with Krishi Vigyan Kendras and state agri-departments for real-world deployment, not just a hackathon demo.

One thing worth doing before you paste this in: swap the generic parts (dataset name, actual crops/diseases supported, what really broke) for what's true in your build — even small specifics make it read as lived-in rather than templated, which judges do notice.

Built With

Share this project:

Updates