Skip to main content
WorkProjects

Civica

Your government, explained

stable
View raw

Address-based representative lookup, legislation tracking across Congress and 50 states, campaign finance and PAC exposure, lobbying disclosures, executive orders, and voter registration tools — aggregated from nine official government APIs into one interface.

What it is

Government data lives across dozens of federal and state portals, each with its own schema, rate limits, and jargon. Civica is a Next.js 16 application that pulls from Congress.gov, Google Civic, Open States, FEC, Federal Register, Regulations.gov, Vote Smart, Census, and Lobbying Disclosure APIs, normalizes the results, and surfaces them as a single citizen-facing view keyed on an address.

By the numbers

MetricValue
Government APIs integrated9
Members of Congress covered535
State legislators covered7,383
State chambers50
Federal + state bill trackingReal-time status through committee, floor, conference, enactment
AI summarizationOpenAI translation of statutory text
Notification channelsSMS (Twilio) + web push (VAPID)

Architecture

                     Browser (React 19)
                            |
                  Next.js 16 App Router
                  /         |         \
            Server       Server       API
         Components      Actions     Routes
                  \         |         /
                    Typed API clients
    (congress, google-civic, openstates, fec, federal-register,
     regulations-gov, votesmart, census, lobbying)
                            |
                  Drizzle ORM (type-safe SQL)
                            |
                   Neon serverless Postgres

  OpenAI ---- bill summarization
  Twilio ---- SMS pipeline
  web-push --- VAPID push notifications

Key features

  • Address-based representative lookup — Single query spans local → state → federal offices. Full profiles with contact, committees, voting history, and sponsored legislation. Filter by chamber, party, and level of government.
  • Legislation tracking across all 50 states — Federal bills via Congress.gov plus state bills via Open States across 50 chambers. Real-time status through committee, floor, conference, and enactment. Full text, sponsors, cosponsors, roll-call votes, and related bills.
  • AI bill summarization — OpenAI-powered translation of statutory text into plain-language summaries so readers can parse bills without legal background.
  • Campaign finance exposure — FEC filings reveal who funds each officeholder. PAC and super-PAC expenditure tracking. Individual and organizational donor search.
  • Lobbying disclosures — Registrations and expenditures from the Lobbying Disclosure API mapped to the officials and bills they touch.
  • Executive branch index — Executive orders pulled from the Federal Register. Proposed and final agency rules with comment periods, linked directly back to official Federal Register citations.
  • Elections and civic action — Federal, state, and local election dates with ballot preview. Registration status check, polling place lookup, registration links. Direct contact forms to elected officials.
  • Multi-channel civic notifications — Twilio SMS plus web-push (VAPID) alerts for bill status changes, new executive orders, and election deadlines.

What makes it stand out

  • Nine government APIs behind one address bar — Congress.gov, Google Civic, Open States, FEC, Federal Register, Regulations.gov, Vote Smart, Census, and Lobbying Disclosure, normalized into a single schema.
  • All 50 states, not just federal — 7,383 state legislators across 50 chambers alongside the 535 members of Congress.
  • Money, law, and action in one view — Bills, votes, donors, PACs, lobbying, rules, and elections surfaced through the same interface, keyed on the reader's address.
  • AI-translated statute — Bill text summarized by OpenAI so a reader can understand what a bill does without a law degree.

Stack

LayerTechnology
FrameworkNext.js 16 (App Router), React 19, TypeScript 5
StylingTailwind CSS 4 with @tailwindcss/postcss, next-themes
MotionFramer Motion
DatabaseNeon serverless Postgres, Drizzle ORM
AIOpenAI SDK (bill summarization)
SMSTwilio
Pushweb-push (VAPID)
TypographyInter, Playfair Display, Source Serif 4
IconsLucide
Toolingpnpm workspaces, ESLint 9