CivicFS Pro | Maps & Stats
← All options
Congressional District 14
State House 138
+
District Congressional District 14 · 2022 boundaries
Election 2024 General · U.S. House, District 14
✓ workspace saved
Stage 1

District profile

Add to Stage 1 (district context)
⋮⋮ District map
Paint: ×
Avg propensity: 0/4 → 4/4
⋮⋮Demographics · registered voters
×
Race
White 74%Black 14%Hisp 7%Asian 3%
Gender
F 53%M 47%
Age
18-2425-3435-4445-5455-6465+
⋮⋮Voter propensity
last 4 GEs ×
Turnout history · % of reg.
4/43/42/41/40/4
High (3-4)256,701 · 50%
Mid (1-2)164,289 · 32%
Low (0)92,412 · 18%
Stage 2

Election layer

Add to Stage 2 (election analysis)
⋮⋮2024 General · precinct map
Paint: ×
Margin (R - D)
D>30 D<30 R<30 R>30
⋮⋮Result
×
Greene (R)
defeats Harris (D)
64.5%
+30.8 pts
Greene (R)209,431
Harris (D)109,401
Write-in5,840
⋮⋮Voting modality
×
324,672 votes cast
EDay 41%Advance 49%Abs 9%Prov 1%
Advance share over last 4 GEs ↑ growing
'18G
'20G
'22G
'24G ●
Change election
FOR this district — same office & district number 17 elections
v3 changes (workspace)
Drag & resize
  • · Each card has a ⋮⋮ grip in its header — drag to reorder within its stage
  • · Resize handles on the bottom-right corner (drag to grow / shrink)
  • · Cards never cross stages — Stage 1 cards stay in Stage 1, etc.
  • · GridStack snaps to 12-col grid
Persistence + reset
  • · Layout auto-saves on drag-end (500ms debounce). "✓ workspace saved" indicator in breadcrumb.
  • · Default scope: per-tab. Each district tab keeps its own layout.
  • · "↺ reset layout" restores the default 3-card / 3-card arrangement.
  • · Backend: extends existing /pro/api/state (workspace SQLite).
Add / remove boxes
  • · "+ add analysis box" opens a palette filtered by stage
  • · Cards have × in their header to remove
  • · Stage 1 palette: voter-file query, overlaps, precinct list, registration trend, notes, SQL (Pro+)
  • · Stage 2 palette: crosstabs, precinct table, margin shift, modality × demo, turnout-vs-propensity scatter, county roll-up
  • · Each box is a registered component (id, title, defaultSize, dataDeps, stage)
Try it: drag any card by its header. Click "+ add analysis box" to see the palette. Click "↺ reset layout" to restore. (Persistence is mocked here — in production, this hits /pro/api/state.)