πΎ AgroAssist: Smart Farming Guidance Anytime, Anywhere
π Inspiration: AgroAssist was born out of a deep desire to support local farmers in underserved communities, especially in areas with limited internet access. Many farmers face challenges getting timely, reliable agricultural advice due to language barriers, lack of technical access, or connectivity issues. Inspired by these obstacles, AgroAssist aims to provide an offline-first, multilingual digital farming assistant that empowers small-scale farmers with practical, AI-powered tools.
π§ What I Learned: How to build a full-stack MERN application with React and Node.js.
Implementing Progressive Web Apps (PWA) to support offline access.
Integrating TensorFlow.js for AI-powered image-based crop diagnosis.
Using localization (i18n) for multiple Nigerian languages (Yoruba, Igbo, Hausa, Fulfulde, Nupe).
Managing MongoDB databases, routes, and feedback systems.
π§ How I Built It:
ποΈ Technologies Used:
Frontend: React, CSS, React-i18next, Workbox (PWA)
Backend: Node.js, Express.js, Mongoose
Database: MongoDB (for feedback storage)
AI Diagnosis: TensorFlow.js + MobileNet
Offline Support: Service Workers + localStorage/IndexedDB
Deployment: Manual deployment via Netlify and Render
π§© Key Features:
π± Crop & Livestock Guide with planting, spacing, feeding, and fertilizer advice
π§ͺ Soil Diagnosis Tool with recommendations based on cropβsoil pairings
π§ AI Image Diagnosis using deep learning for early disease detection
π Multilingual Support in 6 languages (English + 5 local)
π© Feedback System connected to a MongoDB backend
π‘ Offline Mode using PWA capabilities
π Admin Panel (WIP) for managing feedback and updating datasets.
β οΈ Challenges Faced:
PWA Setup: Proper caching with Workbox and ensuring the app works offline was tricky at first.
TensorFlow.js Errors: Debugging image prediction issues (like tf.browser.fromPixels() returning null) required understanding how
elements load asynchronously.
Translation Errors: Handling missing or malformed i18n translation keys caused UI issues.
Backend Deployment: Hosting the Express + MongoDB backend required careful configuration, especially without using GitHub.
Large Upload Limits: Some platforms like GitHub and Netlify limited upload sizes, so I had to manually upload parts of the project.
β What Makes It Stand Out:
AgroAssist is not just a static guide β it's:
AI-driven
Offline-capable
Culturally and linguistically inclusive
Free and mobile-first
π Math Insight: Crop Spacing Calculations: To help farmers plan their plots, I also explored basic math in spacing: For example, planting Maize with spacing on a land: 75cm x 25cm 1ha = 10,000,mΒ² Number of plants = 10,000mΒ² Γ· 0.75cm x 0.25cm = 53,333 plants
π What is Next?
Adding a voice instructions for non-literate users.
Sync with weather APIs for localized planting alerts.
Build an admin dashboard to manage all data from the UI.
Expand to support market price updates and government schemes.
Built With
- cors
- css
- dotenv
- express.js
- fulfulde
- hausa
- html
- igbo
- javascript
- languages-javascript-?-core-language-for-frontend-and-backend-html-&-css-?-for-markup-and-styling-??-frontend-framework-&-libraries-react.js-?-main-ui-framework-react-i18next-?-multilingual-translations-(yoruba
- localstorage
- mongodb
- mongoose
- netlify
- node.js
- nupe
- pwa
- react-i18next
- react.js
- service-workers
- tensorflow-models/mobilenet
- tensorflow.js
- vs-code
- workbox
Log in or sign up for Devpost to join the conversation.