← All work
Full-Stack · MERN · ML2025

AgroGuide

MERN platform with a Flask-served ML engine for farmers

ClientReact
APINode.js · Express
DataMongoDB
ML ServiceFlask · TensorFlow · Scikit-learn
ExternalThird-party APIs

The problem

Farmers often make crop and treatment decisions without timely, data-driven guidance. Useful signals exist — in models and public data sources — but they are not delivered through a single, accessible product.

My approach

AgroGuide combines a MERN web application with a dedicated Flask ML service. The Node/Express API owns users, auth, payments and data, and delegates prediction requests to Python — keeping each part in the language it fits best.

How it's built

  1. Client1

    React

    SPA with protected routes, forms and result views

  2. API2

    Node.js · Express

    REST endpoints, JWT auth, validation, payment flow

  3. Data3

    MongoDB

    Users, records and prediction history

  4. ML Service4

    Flask · TensorFlow · Scikit-learn

    Model inference exposed as a REST API

  5. External5

    Third-party APIs

    Real-world data feeding recommendations

✦

Authentication

Register/login with hashed passwords and JWT-protected endpoints.

✦

ML predictions

Inputs are validated in Node, forwarded to Flask, and results stored per user.

✦

Payment flow

Gated premium features behind a payment step integrated into the API.

✦

External data

Server-side integration with external APIs so keys never reach the client.

Challenges & decisions

Bridging Node and Python

Defined a small JSON contract between Express and Flask so either side can evolve independently.

Keeping the UI responsive

Handled slower inference calls with loading states and error boundaries instead of blocking the page.

Tech stack

  • React
  • Node.js
  • Express.js
  • MongoDB
  • Flask
  • Python
  • TensorFlow
  • Scikit-learn
  • JWT

What I learned

  • →Designing APIs between services, not just between client and server
  • →Packaging ML models so they can be served behind a stable interface
  • →End-to-end ownership: schema, API, UI and model integration