Darust is a public archive of how Punjab's village names are written. The land record, the census, Punjabi Wikipedia and a 1930 encyclopaedia often spell the same village differently, and nobody has the authority to say which is right. So Darust records every form with its source and its date, side by side, for all 13,393 villages it publishes. It's our own project, volunteered by the studio: we researched, designed and built all of it, from the data pipeline to the bilingual Punjabi and English site.
01 — At a glance
| Project | Darust (ਦਰੁਸਤ): a PIXIPACE volunteer project, dedicated to Mahinder Singh |
|---|---|
| Scale | 23 districts, 181 tehsils, 13,393 villages, 41,536 recorded claims |
| Records | Punjab land record (Jamabandi), Census of India 2011, Wikidata / Punjabi Wikipedia, and Bhai Kahn Singh Nabha's Mahan Kosh (1930) |
| What we built | Data pipeline, matching engine, search, villages table, a page for every village, Mahan Kosh index |
| Stack | Node.js data pipeline, static HTML, CSS and JavaScript, Playwright test gates, Vercel |
02 — The problem
Ask what the correct spelling of a Punjab village's name is and there's no answer. The census gives every village a stable code but writes names only in Roman letters. The state's land record is the only government source that writes them in Gurmukhi, and nothing independent exists to check it against. India has no names authority for Punjabi place names.

Take Bhamabaddi, in Sangrur tehsil. Every register agrees it's census village 039778. The land record, Wikipedia and the sign at the edge of the village all spell it differently. Darust doesn't pick a winner. It shows the evidence, and the site says so plainly:
We record the disagreement. We do not close it.
03 — Every village, one table

The villages page works as one tree. Open a district, open a tehsil, and its villages appear in place, one row per village and one column per record. There are no forms to fill in before you see data.
- Punjabi order. Villages are sorted in true Gurmukhi alphabetical order with a collator we wrote ourselves, because the browser's own Punjabi sorting isn't usable.
- Light enough to browse. The site loads one tehsil file at a time, never more than 72 KB, instead of the whole state.
- Plain words. Cells say "same as the land record" or "more than one census line could be it", not internal matching codes.
- Filters that mean something. Show only villages with a note on the writing, a census line, a Wikipedia article or a Mahan Kosh entry.
04 — A page for every village

Every village gets its own page, and every spelling on it comes with who wrote it, when, and a link to see the original. When two records are joined, the page says how the link was made and calls it what it is: "a proposed link, not an assertion that these are the same record."
The page also leaves room for what hasn't been collected yet. Signboards and residents each have a section, shown empty rather than hidden. The residents' section asks, in Punjabi, "how do you write this village's name?", and the reply comes pre-filled with the village's identifiers so it's filed against the right row.
05 — Careful with the data
Joining four records across 13,000 villages is where an archive like this goes wrong quietly, so we audited our own work rather than trusting the totals.
- We removed our own wrong links. An audit found the first matcher had made at least 913 provably wrong links. We rebuilt it to match on each village's hadbast number, refuse ties and report contested cases instead of guessing. The result had zero illegitimate collisions and 1,140 honest abstentions.
- Locked with tests. Every confirmed false match is kept as a fixture, and the matcher has to pass it before any change ships.
- Search that finds every village. The land record writes one Gurmukhi letter, ੜ, in two different Unicode forms, which left 11% of villages unfindable by typing their own name. We fixed it in the search key, without touching the stored text, and checked all 13,393 villages.
- No false alarms. On a site about spelling disagreements, a false one is the worst error it can make. We found 39 villages whose page claimed a disagreement that was really just a revenue-subdivision letter, and brought that number to zero.
06 — A record from 1930

The fourth record is the oldest. Bhai Kahn Singh Nabha's Mahan Kosh, first published in 1930, gives an entry to a village when something happened there: a Guru stayed, a gurdwara stands, a battle was fought. We worked through the digital edition's 3,872 scanned pages and turned each village entry into a dated record.
- Read off the page, twice. The OCR text was wrong on 303 of 499 headwords, so every name was copied from the scan instead. It was then read a second time, blind. The two readings agreed on 495, and the other four were settled by looking at the page.
- Every link challenged. Each proposed match to a present-day village was put through two separate skeptic passes, one on geography and one on alternatives. Any link either of them refuted went to an adjudicator.
- Published honestly. Of 477 entries, 380 are tied to one village, 51 could be more than one, and 46 aren't found in today's land record. The page says which is which, and why.
07 — Built for Punjabi readers

Many visitors are Punjabi speakers looking up their own village on a phone, so the phone is where the site switches to Punjabi. Below 640px the navigation and labels are in Gurmukhi, and the table turns into one card per village. Search takes Gurmukhi or English and finds a village by the census spelling, the Wikipedia spelling or a Mahan Kosh form.
Changes are checked by automated browser tests. They run the pages at several widths, in light and dark themes, and on phone sizes with touch. They check text contrast against what's actually painted behind it, the Punjabi sort order, tap-target sizes, sideways scrolling and every internal link.
08 — Built to grow
Darust is dedicated to Mahinder Singh, whose grandson started it. He knows how his village's name is said, and nobody ever asked him. The database is shaped around claims, not name fields, so anything about a village can be recorded later without a rebuild. The signboard and residents' sections are already on every page, waiting to be filled. For us, it shows what the studio does when the data is large, the sources disagree and the details matter.
