Skip to content
Svayam Labs
Engineering notes

Notes from the field

Delivering farm schemes to millions, on rails a state can own

What it takes to run a state agriculture department's scheme delivery at population scale — sovereign, multilingual, and resilient to the last mile.

Agriculture & Government 5 May 2026 2 min read
  • Agriculture
  • Government
  • DPI
  • Scale

Field note

Agriculture & Government

Delivering farm schemes to millions

Scheme delivery at population scale — on rails a state can own.

1 / 5
Notes from the field — 5 slides · use ‹ › or arrow keys

A state agriculture department is, in software terms, a delivery problem at population scale: millions of smallholders, dozens of welfare schemes — subsidies, equipment, direct benefit transfers — and a chain of district and block officers who have to make it all happen with patchy connectivity and many languages.

A field officer showing a tablet to a smallholder farmer in a green field
The system has to work where the farmer is — past the edge of coverage, in the local language.

What we walked into

The incumbent system was an aging proprietary stack: a single vendor, per-seat licensing on the dashboards, and a change request (and an invoice) for every new scheme. Farmer records, land parcels, and scheme eligibility lived in silos that didn’t agree on something as basic as which village a farmer was in. And none of it could move to a foreign cloud — government data has to stay on home soil.

What we did

  1. Farmer + land

    registry on canonical geography

  2. Eligibility

    scheme rules as config

  3. Field officer

    offline-tolerant app

  4. Sanction + DBT

    auditable workflow

  5. Dashboards

    open BI, no licences

Scheme delivery, end to end

We modelled the whole domain as a modular monolith on PostgreSQL — one image that runs as a demo and scales out by configuration. The spine was canonical government geography (district → block → panchayat → village), so every module finally spoke the same location language. Scheme logic became configuration rather than code, the 20-plus proprietary dashboards were rebuilt on an open analytics stack, and we migrated entity by entity — pulling from the legacy system by reference until each domain was ready to cut over.

What made it work

  • Canonical geography as the join key across every module and dashboard.
  • Scheme-as-configuration — a new programme ships same-day, not as a change request.
  • Offline-tolerant field app for officers working past the edge of coverage.
  • Open BI — recurring per-seat licensing removed entirely.
  • Promote-to-scale — one artifact from pilot district to whole state.

Why we built it this way

Every choice falls out of the constraints. Government procurement and data residency make sovereignty non-negotiable, so the stack is open and self-hostable. Scale makes a normalised geography the difference between reports that reconcile and reports that don’t. Low rural connectivity makes offline tolerance a requirement, not a nicety. And political timelines make a big-bang migration a career risk — so we made it incremental and reversible, with a working system at every step.


Building something like this?

We'd rather talk specifics than slogans. Tell us what you're trying to build.

Talk to us