Skip to content
N
Booting Engineering OS
000%
All projects
Building★ Flagship · Most ambitious

LokDarpan

A public-finance and governance intelligence platform for India — links official records into one traceable, auditable ledger from revenue to completed work, with compiler-enforced neutrality and provenance. My most ambitious build to date.

“Every rupee traceable, every observation neutral — a mathematical-consistency engine over India's public finance and infrastructure records.”

View repoPublic-finance & governance intelligence
Status
Specification-complete (110 docs); apps/web builds with 38 passing tests on fixture data. Real government-data ingestion and services/* are being built next. Apache-2.0.
Difficulty
Very High
Time to MVP
Specification-complete — implementation in progress

Role in the platform

The flagship. A standalone, public-interest platform — independent of the AI-developer product family below — and the most demanding system I've designed: in scope (a full revenue-to-completion ledger across 99 government sources), rigor (110 specification documents written before implementation), and the neutrality/provenance discipline the domain requires.

Overview

LokDarpan is a public-finance, governance, and infrastructure intelligence platform for India, built entirely on official government records. It links official data into one traceable ledger — revenue → budget → ministry → state → district → local body → department → scheme → tender → contractor → release → expenditure → work progress → completion → audit — and runs mathematical-consistency and variance checks over the chain. It is my most ambitious build to date: not in lines shipped yet, but in scope, rigor, and the discipline the domain demands.

It is explicitly not an anti-corruption or accusation engine, a legal authority, or a source of allegations. It is a transparency tool, a mathematical-consistency checker over official records, and an anomaly highlighter with full source traceability — every figure is traceable to an official source, and every observation is a neutral, factual statement.

The problem

Public-finance and infrastructure data in India is scattered across dozens of government portals, in incompatible formats, with no way to trace a rupee from the budget line that allocated it to the completed (or incomplete) work on the ground.

Existing dashboards summarize a single source in isolation; nothing links revenue → budget → scheme → tender → expenditure → completion into one auditable chain, or checks whether the numbers along that chain are internally consistent.

Any tool in this space has to be provably neutral: a mislabeled "anomaly" can read as an accusation, so the platform's credibility depends on discipline most dashboards never have to build.

What it is

A pnpm/Turborepo-style monorepo: apps/web (the Next.js public site, the first product), services/ (ingestion, normalization, entity-resolution, analytics, a risk engine, an AI layer, and the public API), packages/ (money for exact-precision ledger arithmetic, neutrality for a compile-time-enforced neutral-language gate, contracts, domain, config, database, observability, errors), database/ (versioned, immutable migrations against Postgres + PostGIS), and .docs/ — 110 specification documents written before implementation began.

Money is stored as bigint paise, never a float, because a national multi-year aggregate exceeds Number.MAX_SAFE_INTEGER; a <Figure> component cannot render a number without a provenance prop; and observation text is typed as ServerText so neutral copy can only originate from the API, with a CI language gate (pnpm neutrality) blocking release on a forbidden-language hit.

Key features

A traceable public-finance ledger

Every rupee is linked from revenue and budget through to completed (or incomplete) work, sourced from 99 government registries (96 verified).

Mathematical-consistency & variance checks

The platform runs arithmetic and consistency checks across the full ledger chain rather than summarizing any one source in isolation.

Money as bigint paise, never a float

A national multi-year aggregate exceeds Number.MAX_SAFE_INTEGER; the money package makes silent precision loss structurally impossible.

Provenance-enforced rendering

A <Figure> component cannot render a number without a provenance prop — it's a compile error, not a review note.

Neutrality enforced in the type system

Observation text is typed as ServerText and can only originate from the API; a language gate blocks release on a forbidden-language hit, including Hindi and Marathi vocabulary.

Two-privilege-level database access

ETL/migrations connect as the ledger's sole write path; the API connects as a read-only user and verifies this at startup, exiting immediately if its credentials can write.

Tech stack

TypeScriptNext.jsPostgreSQL + PostGISRedisPL/pgSQLDocker · KubernetesTerraformpnpm workspaces · VitestGitHub Actions

Why it's different

  • Built on a traceable ledger chain, not isolated dashboards — every figure connects back through the full revenue-to-completion path.
  • Specification-first discipline: 110 documents and binding legal/ethical rules were written before a line of ingestion code, because a factual error at this scope is a credibility failure, not a bug.
  • Neutrality and provenance enforced by the compiler, not by policy — the type system and a CI language gate make the platform's core promise ("every figure sourced, every observation neutral") structurally true.
  • Deliberately scoped as a public-interest project, independent of any government body, agency, or political party.

Roadmap

Now

Specification-complete (110 docs, 99 verified government sources). apps/web builds with 38 passing tests on fixture data only — no real government data ingested yet.

Next

Build out services/* (ingestion, normalization, entity-resolution, risk engine) and connect the first verified government sources into the live ledger.

Later

Scale ingestion across all 99 verified government registries, launch the mobile app, and open the public API.