About the app

An operating system for selling fresh produce

FreshRoute Agent takes a single message — “I have 800 kg tomatoes in Multan, ready tomorrow” — and runs the entire trade around it, stopping for approval before anything costs money.

What it does

  • Intake. Text or voice, in English, Urdu or Roman Urdu, parsed into a structured lot: crop, quantity, city, ready date.
  • Grading. Produce photos analysed for grade, ripeness, defect rate and quality notes, with a stated confidence level.
  • Comparison. Ranked sell scenarios across five markets, net of expected spoilage, transport and timing.
  • Outreach and booking. Drafted buyer messages and transporter quotes — sent only after an explicit approval tap.
  • Tracking and payment. Pickup, transit, delivery and payment steps with alerts, plus a timestamped action log of everything that happened.

The workflow, in five phases

Phase 1Onboarding & access

Email or Google sign-in, multi-role profiles for farmer, buyer, transporter and storage provider, Urdu or English from the first screen.

Phase 2Intake & AI analysis

Voice note, photo or text in Urdu, Roman Urdu or English. Vision grading returns grade, ripeness, defect rate and confidence.

Phase 3Market intelligence

Sell-now versus store-and-sell-later, net of transport and an exponential spoilage curve fitted per crop.

Phase 4Approval & execution

Buyer and transporter matched on price, proximity, reliability and urgency — then held until the seller approves.

Phase 5Tracking & completion

Pickup, transit and delivery tracked as state transitions, with delay and price alerts, then a transparency score from the outcome.

freshroute.app/admin/analytics

Admin analytics

Last 6 weeks

Users18
Orders41
Active7
RevenueRs 9.4M
PickupConfirmed 08:40
In transitDeparted Multan
Delay alert+45 min, buyer notified
DeliveryPending
Admin analytics and the delivery state machine, including the delay alert raised mid-transit.

How it's built

React 19 and TypeScript on Vite, Tailwind for styling, Zustand for state. A conversation director drives the workflow as an explicit state machine, and a separate deterministic engine handles pricing, spoilage and scenario ranking — deliberately kept out of the language model's hands.

Postgres on Supabase with row-level security on every table, Firebase Auth for sign-in, and Firestore for real-time AI telemetry. Model calls run through a server-side edge function so the API key never reaches the browser, and every call is logged with latency and status for the admin dashboard.

What's real and what's demo

AreaStatus
Auth, orders, revenue, reviews, metricsReal — Postgres with row-level security
Text extraction, vision grading, chatReal — model calls via server-side proxy
Mandi price tableDemo — static, timestamped dataset
Buyer replies, transport quotesSimulated and labelled in the interface
Voice inputReal — Web Speech API, Chromium browsers

Who it's for

Growers and small produce traders in Punjab and Sindh selling tomato, potato, onion, mango, kinnow, banana, green chilli, okra and leafy vegetables into Multan, Lahore, Faisalabad, Islamabad and Karachi.

Status: MVP, in active development in Lahore. The journal documents decisions as they're made, including the ones we later reversed.

Start with the problem

The case for building this at all: a third of Pakistan's fruit and vegetable output never reaches a plate.