Architected as a three-layer serverless proxy system — each Netlify function solves a distinct integration problem. The bus feed decodes GTFS-RT Protocol Buffers server-side, converting binary protobuf into clean JSON with CORS headers. The rail feed holds the MARTA API key in a secure environment variable, deduplicates arrival records into one canonical position per train, and surfaces lat/lon for map rendering. The static feed proxy caches a 20MB GTFS zip in warm-instance memory for 6 hours, parsing 412,000+ shape points and 46,000+ trip records on demand.
Three Netlify Functions eliminate the need for a dedicated backend:
gtfs-realtime-bindings, returns structured JSON. Solves CORS and binary-format barriers simultaneously.MapLibre GL on Carto Dark Matter basemap (no API key required). Rail lines rendered as colored polylines with glow layers. Live trains displayed as directional arrow icons rotated by heading (N/S/E/W). Buses rendered as interactive dots — click any bus to fetch its full route shape from the static GTFS proxy, drawn as a gold dashed polyline. AI narrative bar synthesizes the current network snapshot: time of day, active vehicle counts, busiest rail line, and arriving-now tallies. Countdown ring uses SVG stroke-dashoffset animation for continuous sweep.
The paratransit equity panel computes a live coverage estimate from active bus positions. Vehicle coordinates are binned into ~1km grid cells (census tract proxy), expanded by one ring of neighbors to simulate the ¾-mile ADA paratransit buffer, then multiplied against mean ACS 5-year tract populations (~3,900 for the Atlanta region). Coverage ratio benchmarked against MARTA's 1.5M service-area population. The model exposes how coverage contracts during off-peak hours — a disparity that concentrates in South DeKalb, South Fulton, and Clayton County.
Single-command production deployment via Netlify CLI. Three serverless functions bundled with esbuild. Static assets served from Netlify's global CDN with instant cold-start performance. No framework overhead, no build pipeline dependencies. Built through an agentic AI workflow — the same rapid implementation model delivered to clients.