Problem
Every place is shown with equal confidence, whether it was checked last week or added a year ago and never revisited. For exam centres in particular, a stale address is worse than no address at all.
There is also currently only one way to contribute: research and add a new place. Checking an existing one is a much smaller ask, and we have no way to record that someone did it.
Where to start
data/places.schema.json - add the new field here
scripts/validate-places.mjs - extend validation
.github/ISSUE_TEMPLATE/ - existing templates to model the new one on
What to build
Add an optional verified object to the schema recording who verified the place and when.
Extend the validation script to accept and check it, so npm run validate fails on a malformed entry.
Show a subtle badge on verified places. Keep the treatment for unverified places quiet: most entries are fine, so the badge should reward verification rather than make everything else look broken.
Add a "verify a place" issue template so this becomes a distinct, low-barrier contribution type.
Decide and document how long a verification stays valid.
Acceptance criteria
Verifying
npm install
npm run validate # must pass unchanged before your edits
# add a verified block to one record, run again
# add a malformed one, confirm it fails
Scope: medium, roughly 3 hours across schema, validation and UI.
New to the repo? Start with CONTRIBUTING.md.
Problem
Every place is shown with equal confidence, whether it was checked last week or added a year ago and never revisited. For exam centres in particular, a stale address is worse than no address at all.
There is also currently only one way to contribute: research and add a new place. Checking an existing one is a much smaller ask, and we have no way to record that someone did it.
Where to start
data/places.schema.json- add the new field herescripts/validate-places.mjs- extend validation.github/ISSUE_TEMPLATE/- existing templates to model the new one onWhat to build
Add an optional
verifiedobject to the schema recording who verified the place and when.Extend the validation script to accept and check it, so
npm run validatefails on a malformed entry.Show a subtle badge on verified places. Keep the treatment for unverified places quiet: most entries are fine, so the badge should reward verification rather than make everything else look broken.
Add a "verify a place" issue template so this becomes a distinct, low-barrier contribution type.
Decide and document how long a verification stays valid.
Acceptance criteria
verifiedis optional, so every existing record still validatesnpm run validaterejects a malformedverifiedobjectdata/CONTRIBUTING.mdVerifying
Scope: medium, roughly 3 hours across schema, validation and UI.
New to the repo? Start with CONTRIBUTING.md.