Inspiration
We built KisanMitra Bharat because too many small and marginal farmers still have to depend on fragmented advice, WhatsApp forwards, or long waits at local offices to get answers that affect their crops and income. We wanted to make something that feels natural to use in Bharat: speak in your own language, get a fast answer, and trust where it came from. The idea was to bring the power of modern AI to the realities of rural India, not the other way around.
What it does
KisanMitra Bharat is a multilingual, voice-first AI advisor for farmers that answers questions about crop diseases, government schemes, weather-based sowing decisions, and mandi prices. Farmers can chat in Hindi, Marathi, Tamil, Bengali, or Telugu, and every answer is grounded with citations so they can verify the source. It also supports voice input, structured scheme eligibility checks, and a mandi price lookup flow with a simple card-style result.
How we built it
We built the app with a Next.js 14 frontend, TypeScript, Tailwind CSS, shadcn/ui, and Framer Motion for a clean WhatsApp-like experience. On the backend, FastAPI powers the AI and tool flows, while SQLite and sqlite-vss handle local storage and vector search, with sentence-transformers and BM25 for hybrid retrieval. We also added MLflow for experiment tracking, a local metrics dashboard, and a Docker-based demo replica so the whole project can be reproduced in one command.
Challenges
The hardest part was making the experience feel reliable in multiple Indian languages while still keeping answers grounded and fast. Voice input was another challenge because browser speech support varies a lot, so we had to build a fallback path for the demo. We also spent time making the retrieval pipeline and citations trustworthy enough that judges could inspect the sources instead of just seeing a polished chatbot.
Accomplishments
We’re proud that the project is not just a demo UI, but a full end-to-end system with retrieval, tools, citations, metrics, and reproducibility. The /metrics page and BhashaBench eval runner make the project feel measurable, not just impressive on the surface. Most of all, we’re happy that it actually feels usable for a farmer asking a real question in their own language.
What we learned
We learned how much better AI becomes when it is constrained by good retrieval, clear citations, and domain-specific tools. Building for Bharat also taught us that multilingual UX is not a feature add-on; it changes the whole product design, from voice input to follow-up questions. We also got a deeper appreciation for how much trust matters when the user is making decisions about crops, money, and timing.
What's next
Next, we want to expand the knowledge base with more crop-specific advisories, more state-level schemes, and better support for local dialects. We’d also like to improve offline capabilities, add richer voice interactions, and connect live data sources for weather and mandi prices. Longer term, we want KisanMitra Bharat to become a practical companion that farmers can actually rely on during the season, not just a hackathon prototype.
Built With
- docker
- fastapi
- framer-motion
- lucide-icons
- mlflow
- next.js-14
- python-3.11
- rank-bm25
- recharts
- sentence-transformers
- shadcn/ui
- sqlite
- sqlite-vss
- tailwind-css
- typescript
- web-speech-api
Log in or sign up for Devpost to join the conversation.