05 // Product Prototype · Full-Stack Web Nov 2025 – Feb 2026

Yield AI (KrushiMitra)

A mobile-first crop-yield scenario prototype for Odisha farmers. The public build demonstrates an accessible React interface and FastAPI service boundary; its prediction output is illustrative while a validated dataset and benchmark remain future work.

ReactResponsive Interface
FastAPIService Boundary
PrototypeCurrent Model Status
PendingExternal Validation
Prototype · No live demo GitHub ↗
Overview

KrushiMitra explores how a farmer-facing yield tool could collect district, crop, rainfall, and temperature context without demanding specialist hardware or a desktop workflow.

The strongest part of the current project is the product and service architecture: a mobile React interface, typed components, and a FastAPI backend prepared for a future validated model. The repository currently uses mock prediction behavior, so this case study intentionally makes no accuracy or agronomic-impact claim.

Tech Stack

TSReact / TypeScript / Vite
UIRadix UI / Tailwind CSS
APIPython / FastAPI
MLScikit-learn / XGBoost ready
DBPyMySQL integration
⚙️ System Architecture

How the System is Built

👨‍🌾
Farmer Input
Soil · Season · District · Rainfall · Crop
🌐
FastAPI Service
Validation · routing · response contract
🤖
Scenario Adapter
Mock output · model interface boundary
📊
Prediction Output
Yield (T/acre) · Comparison · Tips
📦
Validation Work Still Required

Curated historical records → leakage-safe temporal split → baseline comparison → calibrated uncertainty → agronomic review.

📱
Mobile-First Frontend

Typed form state → API request → response card with a predicted range, historical comparison, and explanatory factors.

Interaction Flow

How It Works — Step by Step

01

Farmer Fills Input Form

The farmer selects their district, soil type (Clay Loam, Sandy, Black, Red), crop (Rice, Wheat, Maize, etc.), expected rainfall range, and growing season (Kharif / Rabi / Zaid). Designed for low-literacy environments with visual icons.

District · crop · rainfall · temperature · seasonal context
02

Validate a typed request

FastAPI receives the scenario, validates numeric ranges and categorical inputs, and converts the frontend payload into a stable service contract.

React form → Pydantic schema → scenario service
03

Return an illustrative scenario

The current public implementation uses mock prediction logic to exercise the end-to-end interaction. It is an interface prototype, not a validated agricultural model.

Current status: product prototype · benchmark pending
04

Contextualised Output

The response design groups the estimated range, historical comparison, and key factors so a future validated model can explain its output without changing the user flow.

{ estimate, range, comparison, factors, model_status }
Engineering Problems Solved

Challenges & Solutions

Problem

Prediction claims arrived before validation

The interface made it easy to present model-like output before a trustworthy dataset, temporal evaluation, and calibrated uncertainty were in place.

Solution

Made model status explicit

The portfolio and case study now label the project as a prototype. A future promotion requires a documented dataset, reproducible baselines, and out-of-time validation.

Problem

Complex inputs for a broad audience

Weather and crop context can quickly become an intimidating form, especially on a small screen.

Solution

Mobile-first component flow

Used React, TypeScript, Radix primitives, and constrained controls to keep the scenario workflow responsive and understandable.

Problem

A future model must generalize across time

Random splitting would overstate performance when weather patterns and agricultural practices drift across seasons.

Solution

Define a temporal benchmark first

The next research milestone is an out-of-time comparison against district and crop baselines, followed by uncertainty calibration and domain review.