Maps, data pipelines, and APIs for cities, transit, and public records. Click anything for code; live demos are marked.
septa-live
Transit · Realtime · 2026
Live map of every SEPTA mode that publishes realtime data: Regional Rail, BSL, MFL, NHSL, five subway-surface trolleys, Girard, and the suburban trolleys. Hits five SEPTA endpoints through Next.js routes that proxy through Vercel's edge cache. Trains and trolleys reused across polls so they slide instead of flicker.
TypeScriptNext.js 16LeafletSEPTA APIs
groundwork
Housing · Six cities · 2026
Interactive map of 6,500+ affordable-housing projects across NYC, SF, LA, DC, Chicago, and Philly, unified into one Postgres + PostGIS schema. Census-tract rent-burden choropleth, supply-demand gap analysis (PostGIS spatial join), and a stakeholders panel that surfaces the elected representative for any clicked development.
TypeScriptNext.jsPostgresPostGISLeaflet
civic-rag
RAG · Legistar · 2026
Ask plain-English questions about city council legislation, get cited answers. Hybrid retrieval (BM25 + dense embeddings, fused with RRF) over Legistar matters and events, indexed in a single SQLite file via sqlite-vec and FTS5 with no vector DB to run. Local sentence-transformers by default, Voyage AI behind a flag. Claude generates the answer and the CLI parses the citation markers back out and prints the source URLs alongside.
PythonAnthropic Claudesqlite-vecsentence-transformers
convene
Python · Municipal data · 2026
Two-platform municipal-data tool: hits Legistar's REST API and HTML-scrapes Granicus's ViewPublisher pages, with 24 US cities preconfigured. Streams events, agenda items, votes, legislation, sponsors, and action history as OCD-shaped JSON, ndjson for jq, or into a 9-table SQLite database.
Python 3.11+Pydantic 2httpxSQLite
soda
Go · Open-data CLI · 2026
A Go CLI for Socrata-based open data portals. 49 government portals preconfigured. Nine commands including watch for new rows and diff between snapshots. Outputs JSON, NDJSON, CSV, or directly into SQLite — pull --all auto-paginates million-row datasets, upserts on :id.
Go 1.25+cobramodernc.org/sqlite
datamade-challenge
Civic · DataMade work sample · 2026
Django + React-Leaflet choropleth of Chicago restaurant-permit issuance by community area and year, a completion of DataMade's public code challenge. A single aggregate GROUP BY in the view feeds the serializer, AbortController-cancelled fetches keep year changes from racing, the color legend is keyed to each year's max, hover popups show raw counts, and a top-5 sidebar gives the page a takeaway beyond the map.
DjangoDRFreact-leafletPostGISDocker
bandstand
Philly · Jazz tonight · 2026
Philadelphia jazz, tonight. Twenty-one rooms across the city: live clubs, jam sessions, listening rooms, vinyl bars, DJ nights, and the bistros that play real jazz on the system. Per-venue scrapers pull Chris' Jazz Cafe and South Jazz Kitchen nightly, the rest hand-curated with confidence tags. Repertory-style editorial layout, Source Serif italic mastheads, paper-grain texture. City map at /map with tag-colored markers and filter chips.
TypeScriptNext.js 16Tailwind v4MapLibre GLcheerio