Independent project / Case study
Citizen SIR Watch
Finding public notices by Voter ID.
Independent project · Product development
- Public-data access
- Source provenance
- Bilingual interface
At a glance
An independent search tool for the official notice records currently indexed, with links to the original sources.
Independent web tool. Limited Karnataka coverage; not an official government service.
Citizen SIR Watch · Search entry
The problem: finding the relevant notice
Official notice records are spread across documents. I built Citizen SIR Watch to make the indexed records searchable by one EPIC / Voter ID, without asking people to choose a constituency or workflow stage first.
What I built
The search checks the live indexed datasets and links matches to their official sources. English and Kannada interface text supports navigation, while names, reasons, and other source values stay exactly as published.
Important choices in the product
A simple entry point still needs clear boundaries. Coverage is visible, and results retain a route back to the source document. A no-match message explains what the search can - and cannot - establish.
Valid rows can be searched even when other rows in the same document fail validation. Malformed values are excluded, not repaired by guessing.
Search uses POST requests to keep identifiers out of normal search URLs. The application does not intentionally store search history in its database; this is not a guarantee of complete anonymity.
From public documents to a source-linked result
Public documents → validated records → searchable index → source-linked result.
Python ingestion handles public notice files separately from the website. Accepted records and source references are stored in PostgreSQL; the Next.js app performs a server-side, parameterized identifier lookup. Search includes accepted records from fully and partially processed documents.
Current capability and limits
Citizen SIR Watch is independent, not an official government service. Coverage is limited to specified Karnataka constituencies, not the whole state; the live product lists the datasets currently indexed.
A no-match result does not establish voting eligibility, the absence of a notice, or complete electoral status. Official election sources remain authoritative. Search is a way to find a source record, not an electoral-status determination.