The Problem We Couldn't Ignore

500 million smallholder farmers — the backbone of global food supply — lose between 20% and 40% of their harvest each year to crop diseases. Not because cures don't exist, but because knowledge doesn't reach them in time. A farmer in rural Maharashtra or sub-Saharan Tanzania has no agronomist on call. By the time they identify a disease, the field is already compromised. The economic damage is generational. The hunger that follows is real.

We built Verdant because that gap is not a data problem. It's an access problem.

What We Built

Verdant turns any smartphone camera into a crop diagnostics lab. A farmer photographs their diseased plant and within seconds receives:

  • A precise disease identification powered by GLM-4.6 multimodal vision AI, streamed token-by-token so results appear even on low-bandwidth rural connections
  • Three-tier treatment plans — Budget, Standard, and Optimal — calibrated to local economic realities, not Western pharmacy assumptions
  • Regional intelligence that pulls live weather, soil conditions, and market pricing data to contextualize every recommendation
  • Responses in 15+ languages including Swahili, Hindi, Yoruba, Bengali, Vietnamese, and Amharic — because a diagnosis in a language you don't read is no diagnosis at all

Beyond individual farmers, Verdant surfaces an NGO analytics dashboard with disease heatmaps, crop distribution charts, and regional outbreak patterns — giving aid organizations the ground-truth data they've never had.

How We Built It

The architecture is a streaming tool pipeline. When a photo is submitted, FastAPI receives it and dispatches a structured multi-tool sequence through the Z.AI GLM-4.6 vision model: diagnose_visionquery_disease_kb (ChromaDB RAG) → get_weatherget_soilget_market_pricing. Each tool call enriches the context before the final treatment synthesis runs.

Results stream back via Server-Sent Events directly to the Next.js frontend, where Framer Motion renders them token-by-token — a deliberate UX choice that keeps the interface alive and responsive on the 2G connections common in our target regions.

The frontend is a PWA with a service worker cache and offline submission queue, meaning a farmer with intermittent connectivity can still queue a diagnosis and receive results when the signal returns.

For the demo, we built five fully fixture-backed scenarios — Tomato Late Blight, Maize Leaf Blight, Rice Blast, Cassava Brown Streak, and Wheat Rust — so judges and users can explore the full experience without needing an API key.

What We Learned

The hardest problem wasn't the AI — it was economic empathy. Early treatment plans recommended fungicides that would cost a week's income for the farmers we were designing for. We rebuilt the cost-tiering system from scratch once we understood that "optimal" in our context means optimal given what someone can actually afford, not optimal in the abstract. That shift changed how we think about AI outputs aimed at resource-constrained users.

We also learned that streaming UX is not a luxury feature — it is infrastructure. On slow connections, a spinner that does nothing for 8 seconds is a product failure. Watching results appear progressively is the difference between trust and abandonment.

Challenges

Getting GLM-4.6 to produce consistently structured, parseable tool outputs across all five disease scenarios required careful prompt engineering and schema validation at every stage of the pipeline. Early versions would occasionally hallucinate market prices or conflate diseases with similar visual symptoms — we addressed this by building a disease knowledge base in ChromaDB and grounding every diagnosis through RAG before synthesis.

Multilingual output quality was also non-trivial. We couldn't verify fluency in all 15+ languages ourselves, so we focused on ensuring the structured treatment data was always correct and clearly separated from the narrative copy, where translation artifacts are less likely to cause harm.

SDG Alignment

Verdant is built in direct service of SDG 2 (Zero Hunger), SDG 1 (No Poverty), and SDG 10 (Reduced Inequalities) — with downstream contributions to SDG 9, 13, and 15. Food security is a systems problem. We're building one precise, high-leverage point of entry.

Built With

Share this project:

Updates