Mayank Mohan

I build tools that make public data usable — and I show where every number came from. Indian macro data from the RBI and MoSPI, Jaipur's land and property registers, native Linux apps.

Selected work

Live · daily2026 – present
Python · CI

India Macro War Room

45 Indian macro indicators from two publishers — the RBI's DBIE tables and MoSPI's API — rebuilt every morning by CI, which runs 19 provenance checks and blocks a short table from publishing. Prices, rates and balances at first; now the real economy too: unemployment, IIP with its capital-goods split, producer prices, GVA. Dashboard, keyless JSON/CSV API, embeddable chart, weekly note — static files, no backend, no signup.

45 indicators32 chartsRBI + MoSPI19 checks9,300+ pointsMIT
Jaipur2017 – 2026
Register audit

Jaipur RERA, 2017–2026

Every real-estate project registered with Rajasthan's real-estate regulator in Jaipur district, counted from the authority's own register — including the two different definitions of “lapsed” the portal itself publishes, which quietly change the answer. Deck, data, every endpoint and every caveat ship with it.

2,389 projects328,469 units declared10y of register
Jaipur2025 plan
GIS

Jaipur master plan, by land use

The city's Master Development Plan 2025 land-use fabric — 23,980 polygons across 32 categories, from the state's GIS servers — reconciled into areas you can argue with: residential 39.8%, green and open 30.9%. Its external boundary is traced separately too — 2,772 km² against the plan's own 2,764 km².

2,764 km²23,980 polygons32 categories
Jaipur2013 – 2026
Satellite

Jaipur at night, 2013–2026

VIIRS night-lights radiance over the master-plan boundary, split into its 17 planning zones and computed entirely server-side in Earth Engine. City glow is up 113% like-for-like since 2013 — and the deck publishes the saturation caveat that argues against its own headline, plus the step change in 2021 (9.5%/yr) that the average hides.

+113% like-for-like17 zones14 yearly maps
Linux desktopOpen source
Python · Qt 6

CachyView

A native archive · PDF · image · text · SVG toolkit, built on Qt 6 and MuPDF rather than Electron: sub-second start, no network calls, no telemetry. PDF mark-up is written back inside the file on save; archive extraction is sandboxed.

Qt 6 + MuPDFoffline by designno Electron
Linux desktopOpen source
Wayland · OCR

CachyRecorder

Search everything you have seen on your screen: capture, deduplicate, OCR and full-text index, on KDE Plasma/Wayland. Measured rather than assumed — 10 MB an hour and 0.9% of one core, because 72% of capture ticks are identical frames and get dropped before OCR.

10 MB/hour0.9% of one coreFTS5 index

How I work

Every figure traced to its source

Not a claim in a README: the War Room build compares its published numbers against the raw source tables on every run — 19 checks, 19 passing — and fails if they disagree.

Gates, not notes

A short table fails the build instead of becoming a plausible-looking chart. Where a figure has no second source (20 of 45 indicators), the dashboard says so rather than implying verification.

Caveats next to the claim

Each deck ships the caveat that weakens it — sensor saturation, spliced series, two definitions of the same word. If the number cannot survive the caveat, it gets dropped.

Also

arch-builds — a signed x86-64-v4 pacman repository, built on GitHub Actions and consumed by a normal system update.

Upstream — a fix merged into misterdownloadmanager (Rust), where the extension sent the video's own page instead of the media.

In the workshop — a reader for Rajasthan's land records (khasra, jamabandi, mutation register), and an Omarchy port to a Snapdragon Android device.