Inspiration

Our team comes from rural backgrounds where we witnessed farmers struggling daily. We saw our relatives losing 30-40% of their income to middlemen, getting cheated on crop prices, and working in complete isolation without expert guidance. When a neighbor's entire wheat crop was destroyed by disease because he couldn't identify it in time, we knew we had to build something to help.

What it does

KrishiMitra is a digital platform that connects farmers across India. Farmers can:

  • Upload photos of diseased crops and get instant AI diagnosis with treatment suggestions
  • Sell their produce directly to buyers without middlemen
  • Check real-time market prices from 500+ mandis before selling
  • Connect with other farmers to share knowledge and experiences
  • Chat with agricultural experts 24/7
  • Get weather alerts to protect their crops

How we built it

Frontend: We used React with Redux for state management and Tailwind CSS for styling. Socket.io handles real-time chat and notifications.

Backend: Built with Node.js and Express, using MongoDB for database and Redis for caching. JWT handles authentication and bcrypt secures passwords.

AI/ML Service: Developed in Python using TensorFlow for disease detection model. We trained it on 10,000+ crop images. Used OpenCV for image processing and FastAPI to serve the model.

Mobile App: Created with React Native and Expo for both Android and iOS.

Infrastructure: Containerized everything with Docker and deployed on AWS.

Challenges we ran into

Real-time chat bugs: Messages were duplicating when multiple users were online. We spent 3 hours debugging Socket.io event listeners and learned to properly cleanup listeners on component unmount.

CORS errors: Our ML API wouldn't connect to the frontend. After reading FastAPI documentation, we discovered we needed proper CORS middleware configuration.

MongoDB timeouts: Database kept disconnecting. Turned out we forgot to whitelist our IP address in MongoDB Atlas settings.

Docker networking: Containers couldn't communicate. We had to learn about Docker networks and properly configure docker-compose.

Last-minute crash: App froze during image uploads 30 minutes before submission. We quickly added try-catch error handling and client-side image compression to fix it.

Accomplishments we're proud of

  • Built a fully functional full-stack application in limited time
  • Achieved 87% accuracy on disease detection model
  • Created both web and mobile versions
  • Implemented real-time features that actually work
  • Designed a solution that can genuinely help 10,000+ farmers

What we learned

  • How to integrate Socket.io with Redux for real-time features
  • Training and deploying TensorFlow models in production
  • Docker containerization and microservices architecture
  • Managing state in complex React applications
  • Importance of error handling and testing early
  • Reading documentation thoroughly saves time

What's next for KrishiMitra

  • Add more crop diseases to the AI model (currently supports 10 diseases)
  • Integrate payment gateway for direct transactions
  • Add voice input in regional languages for low-literacy farmers
  • Implement IoT sensor integration for soil monitoring
  • Partner with government agencies to provide scheme information
  • Scale to 100,000+ farmers across India
  • Add video consultation with experts
  • Create blockchain-based supply chain tracking
Share this project:

Updates