← POLIAPI/MOCKUPS · PRODUCT-LEVEL
// individual mockups

23 product surfaces.
One mockup each.

The homepage shows each of these as a single section. These pages take each one further — sample payloads, deeper copy, decision points. State-level mockups (Arizona, etc.) live on the state pages.

// market wedge
Google Civic successor
Shutdown narrative, drop-in parity table, and migration guide for stranded Civic API customers.
go-to-market
// pricing
Pricing tiers
Three-tier public pricing, fair-use limits, nonprofit/journalism program, self-serve checkout.
go-to-market
// killer endpoint
Address → ballot lookup
Single HTTP call from a street address to OCD-IDs, every district, and the upcoming ballot.
api
// /v1 endpoints
REST API surface
Every endpoint, request/response shape, rate limits, and SDK landing for the canonical REST surface.
api
// /graphql
GraphQL endpoint
Schema diagram, nested ballot query, persisted-query story, BallotReady parity argument.
api
// push, don't poll
Webhook subscriptions
Event catalogue, payload signing, retry policy, subscription-management UI.
api
// CSV · Parquet · JSONL
Bulk exports
Per-state snapshot files, refresh cadence, schema docs, academic/journalist pricing.
api
// every change is an event
Changefeed / versioned diffs
Auditable per-object change log — for journalists, dashboards, and legal defense.
api
// data model
OCD-ID identifiers
Open Civic Data IDs as the lingua franca to join PoliAPI with Google Civic, FEC, Census, etc.
data
// browse
Jurisdiction explorer
Browsable drill-down from state → county → city → ward → precinct, with source trail.
data
// voter logistics
Polling places & deadlines
Day-of locations, early voting sites, drop boxes, registration deadlines, vote-by-mail rules.
data
// expensive, high-stakes
Election results
Precinct-level returns ingested from county clerks where AP under-invests.
data
// FEC + state filings
Campaign finance
Normalized FEC + 50-state filings in one schema, per candidate and per committee.
data
// where they stand
Stances & endorsements
Per-candidate issue positions and endorsement lists — the BallotReady moat.
data
// who holds the seat
Current officeholders
Year-round who-represents-me data — contact, terms, voting records, committees.
data
// address → ballot fuel
District geometries (GeoJSON)
Precincts, council wards, school zones, water districts as GeoJSON — updated each redistricting cycle.
data
// coverage
Coverage map
Honest per-jurisdiction coverage % — Senate seats down to mosquito boards.
trust
// trust layer
Methodology & provenance
Per-field source_url + scraped_at + confidence with multi-source corroboration.
trust
// public accountability
Editorial corrections log
Public log of every data correction — what changed, when, why.
trust
// operations
Status & uptime
Public status page — API, scrapers, webhooks — 90-day uptime, incidents, per-component health.
trust
// who we are
Nonpartisan governance
Charter excerpts, balanced advisory board, funding sources, published commitments.
trust
// the unglamorous part
Scraping & legal posture
Sourcing hierarchy, ToS compliance, FOIA workflow, takedown response, CFAA defense.
trust
// charter
Nonpartisan charter
Full text of the editorial charter, conflict-of-interest policy, adjudication procedure.
trust