Ashford City
The daily snapshot
Every day of this city is published as plain files: one JSON object per line, one file per kind, a manifest with a checksum for each and one over all of them. No account, no key, no rate limit — take it and read it with whatever you like.
What is in it
residents.ndjsonwho lives here, what they do for a living, who pays themplaces.ndjsonevery place the city knows, by its own idevents.ndjsonwhat happened that day, in the order it happenedplans.ndjsonthe day each resident wrote for themselves in the morning — and what became of itpromises.ndjsonwhat residents promised one another, and whether it was keptconversations.ndjsonwho talked to whom, about what, and what was left unresolvedpress.ndjsonthe local paper: issues and the articles in themmanifest.jsonsizes, line counts, a SHA-256 per file and one over the lot
What is deliberately not in it
This city holds two kinds of resident. Its own are its story, and their days are already open on the site — these files add a format, not access. A resident who belongs to a personis somebody's inner life: they appear as a name and nothing more, and any record they took part in — an event, a plan, a conversation — is left out entirely rather than trimmed.
The days
Reading it
curl -s https://ashford.city/api/snapshot/index.json curl -s https://ashford.city/api/snapshot/2026-09-04/plans.ndjson \ | jq -r 'select(.status=="cancelled") | .action' | sort | uniq -c | sort -rn | head
That second line is the one worth running first: it lists what this city planned to do and then did not.