Verdis — The Agricultural Expert in Every Farmer's Pocket
Inspiration
Every harvest season, a quiet crisis unfolds across the fields of India, sub-Saharan Africa, and Southeast Asia. A farmer notices something wrong — yellowing leaves, dark spots, wilting stems — and has no one to ask. The nearest agricultural extension officer might be a day's travel away. A private agronomist costs more than a week's income. And the internet, if it even reaches the farm, speaks English.
Farmers in developing countries lose 20–40% of their crops annually to diseases that are largely preventable with early detection. That isn't a farming problem — it's an information problem.
India alone has over 100 million smallholder farmers, the vast majority without access to formal agricultural advice. Meanwhile, the tools that do exist for crop disease detection are built for researchers, not for a grandmother farming two acres in Karnataka who speaks Kannada and has never used a laptop.
The deeper inequity is that the knowledge already exists. Agricultural science has catalogued hundreds of plant diseases and their treatments, but that knowledge is locked behind language barriers, expensive consultants, and the assumption of reliable internet access — the same gap that exists across healthcare, legal aid, and financial services.
We built Verdis because we believe democratising agricultural expertise isn't a technical challenge — it's a moral one. And for the first time, the tools to solve it are genuinely within reach.
What it does
Verdis is a free, AI-powered web application that puts professional-grade crop disease diagnosis in any farmer's pocket — regardless of language, connectivity, or income.
A farmer can open Verdis on any phone, photograph a diseased leaf, and within seconds receive:
- An accurate identification of the disease from a library of 38+ plant conditions
- A confidence score explaining how certain the diagnosis is
- Tailored treatment recommendations across three approaches — organic, chemical, and cultural — so the farmer can choose based on what they have access to
- Prevention strategies for the future
- A downloadable PDF report they can share with a cooperative, a bank, or a government agricultural office
The platform operates across four languages — English, Hindi (हिंदी), Urdu (اردو), and Kannada (ಕನ್ನಡ) — with full right-to-left support for Urdu, real-time language switching, and disease name translations across every supported language.
Critically, Verdis works offline. As an installable PWA, it caches the core application so farmers in areas with patchy connectivity can keep using it in the field, syncing data automatically once a connection returns.
Beyond diagnosis, Verdis includes:
- A knowledge base covering 60+ diseases with symptoms, causes, and treatment protocols
- A detection history so farmers can track recurring problems across seasons
- An agricultural chatbot powered by Gemini for open-ended farming questions
- Zero barriers to entry — no subscription, no ads, no account required to get started
How we built it
Frontend & Architecture
- Next.js 16 with Turbopack for fast builds and optimised performance
- React 19 with TypeScript for type-safe, maintainable code
- TailwindCSS for a responsive, mobile-first interface designed for low-cost Android devices
- Zustand for lightweight state management
- PWA with service workers for offline functionality and installability
AI Integration
- Google Gemini 1.5 Flash for real-time plant disease detection via image analysis
- Custom prompt engineering to produce structured, consistent diagnostic outputs
- A resilient fallback chain — Gemini → Hugging Face → demo mode — so the app never fails silently
Multi-Language System
- react-i18next with 350+ translation keys covering the full UI and disease vocabulary
- Dynamic RTL layout support for Urdu/Arabic scripts
- Disease name translations for 20+ plant conditions across all supported languages
- Real-time language switching with no page reload
Backend & Storage
- Supabase for authentication, scan history, and real-time sync
- PostgreSQL with Row Level Security so farmer data remains private
- Server-side API routes to keep AI keys secure and off the client
- jsPDF with autoTable for professional multi-language PDF report generation
System architecture
┌─────────────────────────── PWA shell (offline cache) ───────────────────────────┐
│ │
│ ┌───────────────────────────── Frontend ──────────────────────────────────┐ │
│ │ Next.js 16 · React 19 · TypeScript · TailwindCSS · Zustand │ │
│ │ react-i18next — English, Hindi, Urdu (RTL), Kannada │ │
│ └─────────────────┬─────────────────────────────────┬─────────────────────┘ │
│ ▼ ▼ │
│ ┌──────────────── AI layer ────────────┐ ┌──────── Backend ───────────────┐ │
│ │ Gemini 1.5 Flash (vision) │ │ Supabase auth + real-time sync│ │
│ │ Structured diagnosis prompts │ │ PostgreSQL + row-level security│ │
│ │ Fallback: Hugging Face → Demo mode │ │ Server-side API routes │ │
│ └─────────────────┬──────────────────────┘ └──────────────┬─────────────────┘ │
│ ▼ ▼ │
│ ┌──────────────────────────────── Output ─────────────────────────────────┐ │
│ │ jsPDF + autoTable multi-language reports │ │
│ │ Knowledge base · detection history · chatbot │ │
│ └────────────────────────────────────────────────────────────────────────┘ │
└────────────────────────────────────────────────────────────────────────────────┘
Analysis pipeline
Image capture (camera/gallery)
│
▼
Gemini Vision API ──(API fail)──▶ Fallback (Hugging Face / demo)
│ │
▼ │
Confidence scoring ◀──────────────────────┘
│
▼
Treatment generation (organic / chemical / cultural)
│
▼
PDF report (localised, shareable)
Challenges we ran into
Multi-language complexity was the first wall we hit. Agricultural terms like "fungal blight" or "root rot" have no direct equivalents in many regional languages, and literal translation produced meaningless output. We built a disease-specific vocabulary layer on top of standard i18n infrastructure, in collaboration with native speakers across multiple review rounds.
RTL layout with LTR coexistence proved harder than expected. Urdu requires a fully mirrored interface — navigation, alignment, padding, even icon direction all invert. Getting this to coexist with left-to-right languages in a single codebase required careful CSS scoping and dynamic direction toggling.
Consistent AI outputs were a core engineering challenge. Gemini is powerful but conversational — without careful prompt engineering it returned disease analyses in varying formats that broke our parsing pipeline. We iterated extensively on prompt structure until outputs were reliably structured.
Offline-first architecture created caching conflicts. Deciding what to cache, when to refresh it, and how to handle stale data while keeping the app installable under a 100MB budget required significant service worker work.
Multi-language PDF generation was a final hurdle — particularly rendering Devanagari (Hindi) and Kannada scripts in jsPDF, which doesn't natively support all Unicode ranges. We implemented font subsetting and tested across device types to keep reports legible on the range of devices farmers actually use.
Accomplishments we're proud of
- It actually works in the field. We tested on low-end Android devices with intermittent connectivity, and every performance decision was shaped by those conditions — not a demo environment.
- A privacy-first model. Farmer data — scans, location, crop history — never leaves their control. No third-party trackers, no advertising profiles, no mandatory account creation.
- Sustainable-first recommendations. It would have been easier to always lead with the most aggressive chemical solution. Instead, Verdis recommends organic and cultural treatments first, with chemical options available but never defaulted to.
- Designed for the real user. The interface assumes someone using a smartphone for the first time, in direct sunlight, with muddy hands — large touch targets, high contrast, minimal text, and a camera-first flow.
- Genuinely free. No diagnosis limits, no paywalled PDF reports, no premium language tier. Agricultural expertise shouldn't be a subscription.
What we learned
The hardest part of building for underserved communities isn't the technology — it's the humility.
Designing for a farmer in rural Andhra Pradesh is a fundamentally different problem from designing for a developer in Bangalore. Every assumption about literacy, connectivity, device quality, and time has to be questioned and often discarded.
Language is more than translation. Localising into Kannada and Urdu meant rethinking how information is structured, how trust is communicated, and what level of technical vocabulary is appropriate — a report that reads well in English can feel alienating in a regional language if it keeps the same sentence structure.
AI reliability and AI capability are different problems. Gemini is extraordinarily capable at plant disease identification, but making it reliably structured enough to power a pipeline without human review took more prompt engineering than the model integration itself.
Offline-first is a design philosophy, not a feature. Every decision about what to fetch, cache, and defer has downstream consequences — building offline-first from day one is dramatically easier than retrofitting it later.
And the digital divide isn't primarily a hardware problem. Cheap smartphones are everywhere now. What's scarce is software built with the same care for users in Dharbhanga or Mysuru as for users in San Francisco or London. That gap is a choice — and one we can start to close.
What's next for Verdis
- Voice input in regional languages — speech recognition for Hindi, Kannada, and Urdu to remove the last barrier for users with limited text literacy.
- A community disease outbreak map — anonymised, aggregated detections that let farmers and extension services spot emerging outbreaks in real time, built from the ground up by farmers themselves.
- Soil health analysis — connecting soil test results to fertiliser recommendations and long-term land management advice.
- Weather-linked disease risk prediction — proactive alerts before a disease takes hold, based on humidity and temperature patterns linked to fungal infection risk.
- Expanded language support — Bengali, Tamil, Telugu, and Swahili, extending Verdis to hundreds of millions more farmers across South Asia and East Africa.
- Expert network integration — connecting farmers to accredited agricultural extension officers when AI diagnosis alone isn't enough.
The long-term vision is Verdis as open agricultural infrastructure: a free, multilingual, community-powered platform that any farmer can use to protect their livelihood — and that any government, NGO, or cooperative can build on.
If even 1% of India's 100 million smallholder farmers used Verdis to catch a disease just one week earlier, the avoided crop losses would exceed $500 million annually. That's the scale of what's possible when expertise stops being a privilege.
Built with care for the farmers who feed the world. 🌾
Log in or sign up for Devpost to join the conversation.