AN INDEPENDENT LOCAL COMMONSDRAFT / NOT A FINISHED PRODUCT
ES↗el segundoA LOCAL GUIDE. AN OPEN UNIVERSITY.

DRAFT / CIVIC STACK

How another town could copy this.

Draft, checked November 3, 2026. This is a practice page for El Segundo and the officials who represent it. It is not a finished kit. Not an official City of El Segundo page.

Data sources

Cities inside about 25 miles, not built yet, are listed in the repo note docs/CIVIC-RADIUS-SOURCES.md and summarized below.

Schema

One JSON file, bills.json. Each item has an id, body, title, date, status, stage, official votes, floor totals, and source quotes with a checkedAt date. Representatives live in officials.json. A signal target is rep: or bill: plus that id.

MCP

The read-only server is https://elsegundo.xyz/mcp. get_representatives returns the officials file. It does not record signals and it does not send mail.

Signals

Support, Oppose, and Question are anonymous taps stored as counts in the site's existing analytics blob store. The label on every card is: "Signals are unverified, anonymous tallies, not a petition or poll, and are not sent to officials." Official contact buttons stay next to the taps. There is no account. The endpoint is GET and POST /api/v1/signals.

Privacy

No names, emails, or IP addresses are stored with a tap. There is no per-person dedupe, because that would require an identifier. A daily cap limits how many taps one target can take. Missing votes stay unavailable. The page does not grade officials.

Next towns

Start with each city's clerk. Confirm the Assembly, Senate, and House districts before copying a member. Manhattan Beach, Hermosa Beach, Redondo Beach, Torrance, Hawthorne, Lawndale, Gardena, Inglewood, and Culver City are the first ring to check. Their districts are not filled in on this draft.