Lok Sabha Tracker: Building a Status Docket for 543 MPs
Watched the CJP protests unfold over the last few weeks like most people did, from a phone screen. A group calling itself the Cockroach Janta Party formed after India's Chief Justice compared unemployed youth to cockroaches, and it ended up pushing the education minister to resign over an exam paper leak scandal. What stuck with me wasn't the resignation itself. It was how little most people actually know about the person representing them in Parliament beyond whatever shows up in their news feed that week.
So I built Lok Sabha Tracker: one page per MP, all 543 of them, covering assets, criminal cases, attendance, MPLADS fund usage, and promises tracked against a verified status instead of just listed and forgotten. Took three days start to finish, including a full visual redesign partway through because the first pass looked like every other government dashboard and I wanted something that actually felt like a record you'd trust.
The frontend is Next.js with all 543 profile pages statically generated at build time. I settled on what I ended up calling a case docket look: ruled paper background, serif for the narrative bits, monospace for numbers and status stamps, three colors total (verified, disputed, pending) and nothing else. No party-color coding anywhere except the actual party symbol icons, which get shown in true color because they're identifiers, not decoration. Everything else on the page had to earn its color.
Behind that sits a daily pipeline that re-verifies promises, pulls in news, checks attendance, and refreshes MPLADS fund data through a mix of scraping and an LLM doing the verification calls. That part isn't public. Data accuracy and rate limits on the free-tier API calls made it worth keeping private for now, but the short version is it runs on a schedule, writes straight to a JSON file, and the site just reads from that. No database.
One thing I was careful about: there's an Accountability Index that scores every MP from attendance, promise-fulfillment rate, and fund utilization against criminal cases and broken promises. I didn't want this to turn into a leaderboard for clout, so the entire formula is shown on the page itself, applied identically to every single MP, computed only from numbers already visible elsewhere on their profile. If someone scores low, you can see exactly why by reading three lines of arithmetic, not by trusting a black-box rating.
Everything is AI-assisted and disclosed as such on every page that uses it. This isn't meant to replace checking primary sources for anything that matters, it's meant to make it easier to notice patterns you'd otherwise miss scrolling through 543 separate Wikipedia pages.
Link's up at the top if you want to look up your own MP.