🌾 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:

  1. PWA Setup: Proper caching with Workbox and ensuring the app works offline was tricky at first.

  2. TensorFlow.js Errors: Debugging image prediction issues (like tf.browser.fromPixels() returning null) required understanding how elements load asynchronously.

  3. Translation Errors: Handling missing or malformed i18n translation keys caused UI issues.

  4. Backend Deployment: Hosting the Express + MongoDB backend required careful configuration, especially without using GitHub.

  5. 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
Share this project:

Updates