How this deployment grew
districtry Iowa launched with the full phase-1 roadmap: every county and its supervisor districts, both chambers of the Iowa Legislature, Iowa's U.S. House delegation, school districts, townships and cities, and ZIP codes and post offices.
The numbers below are measured from the app's own shipped data files every time anything changes — they cannot drift from what the map actually serves. The changelog entries are dated snapshots: each was true on its own date, and none is edited after the fact.
The changelog
- 4 September 2026
Cedar Rapids joins, and the toggle stops saying ward
Cedar Rapids is the third Iowa city whose council districts are on the map, and the eight of its nine elected seats that a district can carry are named on the card — each district's own member plus all three at-large members, who represent every district. The toggle is renamed City Council District: Des Moines and Waterloo elect by WARD and Cedar Rapids by DISTRICT, and a generic label has to be one no city is contradicted by. Every card still names the unit exactly as its own city does, and links shared under the old name still work. The boundary is not the city's — Cedar Rapids publishes none. It is LINN COUNTY's, a single service holding two cities' districts separated only by a bare code with no name attached anywhere in it, so the build proves the code every run in both directions: the five polygons must cover Cedar Rapids, and Marion's four must fail to. Without that second half a future swap would put Marion's districts on Cedar Rapids readers' cards under Cedar Rapids labels, and nothing else would notice. The city's own "Find Your District" page points at the county's, which is the city naming the county as the authority for its own lines. The mayor is elected citywide, so she is named in prose rather than on any one district's card — and unlike the other two cities she is read by the scraper anyway, so leaving her off stays a decision the pipeline can show rather than a gap it cannot see. Iowa's other 936 cities still elect councils this map does not draw, and that gap stays open and stated.
- 4 September 2026
Waterloo joins, and the ward layer becomes a concept
Waterloo's five council wards ship, with all seven seats it elects to its council — each ward's own member plus both at-large members, who represent every ward — from the city's own council page. That is a second Iowa city naming real people on a district card, where before only Des Moines did. Because it is the SECOND, the two cities are now two entries on one City Council Ward toggle rather than two near-identical layers: adding a city adds an entry, never a layer. Links shared while it was the Des Moines ward layer still work. The city's own map carries councilmember names inside it, and those are still not what the card reads — a roster attached to a boundary is refreshed when the boundary is, so the names come from the council page and the map's are used once, at build time, to check them. Waterloo's mayor is elected by the whole city, so he is named in prose rather than on any one ward's card. Iowa's other 937 cities still name nobody, and that gap stays open and stated.
- 27 August 2026
Launched
Ten layers, statewide, each with a sourced boundary: the national tier (county, U.S. House, Iowa Senate, Iowa House); the flagship county-supervisor layer (270 features across 98 of 99 counties, aware of each county's own election plan under Senate File 75); school-district-unified; county-subdivision and municipality (Iowa's civil townships and its 939 incorporated cities); and zip-code and post-office. Every layer with a statewide officeholder source carries a weekly-refreshed roster; where none exists (county, county-subdivision, municipality, and county-supervisor's supervisor names), the card says so and links the official body rather than guessing. Phase 2 — precincts, judicial districts, community colleges, and the county auditor — is next.
Checked on a schedule
Every scheduled job lands its changes as a reviewed pull request — data about real officeholders never ships without a person looking at the diff.
| What it refreshes | Job | When |
|---|---|---|
| U.S. House (IA) roster (unitedstates/congress-legislators) | update-ia-congress-roster.yml | Mon 14:30 UTC |
| Iowa Senate + House rosters (Open States ia.csv, legis.iowa.gov enrichment) | update-ia-legislature-roster.yml | Tue 14:30 UTC |
| County auditor roster (iowaauditors.org's own association directory) | update-ia-county-auditor-roster.yml | Wed 14:30 UTC |
| Judicial district bench (iowacourts.gov per-district Judges and Magistrates pages) + a --check re-verification of the district geometry against the LSAFiscal witness | update-ia-judicial-district-roster.yml | Thu 16:30 UTC |
| Des Moines city council roster (the city's own council page), plus a --check re-verification of the ward geometry against the city's Wards service and its City Boundary tiling gate | update-ia-dsm-council-roster.yml | Thu 17:30 UTC |
| All six elected county offices (ISAC member portal + the recorders', sheriffs' and county attorneys' own directories), plus the treasurer and sheriff e-mail probe of the counties' own sites | update-ia-county-officers-roster.yml | Fri 17:30 UTC |
| Supervisor names keyed to their own districts in the plan-3 counties that publish the pairing | update-ia-supervisor-roster.yml | Sat 17:30 UTC |
| The office phone and website of all 939 incorporated cities (the Iowa League of Cities' own city table joined to TIGERweb's places) — contact, never officeholders | update-ia-city-contact-roster.yml | Fri 15:30 UTC |
| Waterloo city council roster (the city's own council page), plus a --check re-verification of the ward geometry against the city's Wards service and its City Limits tiling gate | update-ia-waterloo-council-roster.yml | Thu 18:30 UTC |
| Cedar Rapids city council roster (the city's own seven seat pages), plus a --check re-verification of the five district polygons against Linn County's service — including the cross-control that Marion's township code still does NOT tile Cedar Rapids | update-ia-cedar-rapids-council-roster.yml | Thu 19:30 UTC |
| Elected officials of the five Iowa cities that publish a readable council page (their own pages; at-large councils, rendered on the City card) | update-ia-city-officials-roster.yml | Fri 16:30 UTC |
| Which supervisor chairs each county board, from each county's own board page (35 of 99; no statewide publisher carries the chair, and the chair is chosen by each board's own January vote, so this tracks it where a one-time answer could not) | update-ia-county-chair-roster.yml | Fri 18:30 UTC |
| county-published city officials (the counties currently publishing a current page) | update-ia-county-city-officials-roster.yml | Thu 20:30 UTC |
| the township clerks and trustees twelve Iowa counties publish for the 186 townships inside them (of roughly 1,600 statewide — no statewide publisher names a township officer) | update-ia-township-officers-roster.yml | Sat 19:30 UTC |
| the mayor and council of the fourteen Iowa cities above 25,000 that published nobody in this app before 2026-10-01 (of eighteen such cities — Des Moines and Waterloo answer by ward and Cedar Rapids by its own builder) | update-ia-city-councils-roster.yml | Sat 20:30 UTC |
| source freshness (IA manifest: TIGERweb, congress-legislators, Open States, legis.iowa.gov) | ia-validate-sources.yml | 1st of month 15:00 UTC |
Back to the map Sources & data layers Common questions Privacy Why this exists