C.SWEENEYFRONTEND ENGINEER
Start a project
← All work

Personal project · Civic Data Platform

Open Raleigh

Raleigh's historic places were spread across separate preservation, National Register, and historic district datasets with no single public view. Open Raleigh is a map-first community archive of roughly 9,000 sites — including over 1,000 already demolished — with search, faceted filters, a moderated contribution workflow, and all of it republished under CC BY 4.0 through a documented public API.

Clustered map of Raleigh showing thousands of historic sites, beside a filter panel for era, standing status, and designation.

Context

Raleigh is growing fast, and what it tears down mostly disappears from public view along with it. The record of the city’s historic places did exist — across city Historic Preservation data, the National Register, and historic district datasets — but as separate sources with no single place to see them together. Open Raleigh pulls roughly 9,000 sites into one archive, including more than 1,000 that have already been demolished, so the city has a durable public record of both what it has built and what it has lost.

The problem

An archive like this fails in two directions. It can be complete but unusable — thousands of rows nobody can navigate — or usable but frozen, a snapshot that decays the moment it ships. It needed to make 9,000 points explorable at a glance, stay linkable so a specific view could be shared or cited, remain readable without JavaScript, and let residents extend it themselves without opening the door to vandalism.

What I built

  • A map-first browse experience — a clustered, era-colored Mapbox GL map over Neon Postgres with PostGIS, reached from Cloudflare Workers through Hyperdrive, with Drizzle handling schema and migrations. Full-text search, faceted filters, and a date-range slider all serialize into the URL, so any view is shareable and citable.
  • A no-JavaScript list view alongside the map, so the archive stays usable when the map isn’t — and stays crawlable and accessible.
  • Per-site detail pages linking out to more than a thousand archival nomination and survey documents, so each entry points back at its primary sources rather than replacing them.
  • A moderated contribution platform. Authenticated and anonymous users can submit new places or suggest corrections, flowing into a review queue with role-based approval and revision history. Photo uploads are EXIF-stripped and served through access-gated endpoints from R2; the anonymous path is protected by Turnstile and rate limiting.
  • An open data layer — everything published under CC BY 4.0 via a documented public API, so the archive is reusable rather than locked inside one website.

Outcome

Raleigh now has a single public, extensible record of its historic built environment — one that residents can search, cite, correct, and add to, and that other projects can build on directly through the API rather than by scraping it.