---
title: Civica
description: Your government, explained
section: craft
tags: [project, full-stack]
genre: reference
stability: stable
lastUpdated: 2026-04-19
url: https://fardiniqbal.com/docs/craft/projects/civica
---


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 [#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 [#by-the-numbers]

| Metric                        | Value                                                            |
| ----------------------------- | ---------------------------------------------------------------- |
| Government APIs integrated    | 9                                                                |
| Members of Congress covered   | 535                                                              |
| State legislators covered     | 7,383                                                            |
| State chambers                | 50                                                               |
| Federal + state bill tracking | Real-time status through committee, floor, conference, enactment |
| AI summarization              | OpenAI translation of statutory text                             |
| Notification channels         | SMS (Twilio) + web push (VAPID)                                  |

## Architecture [#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 [#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 [#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 [#stack]

| Layer      | Technology                                                |
| ---------- | --------------------------------------------------------- |
| Framework  | Next.js 16 (App Router), React 19, TypeScript 5           |
| Styling    | Tailwind CSS 4 with `@tailwindcss/postcss`, `next-themes` |
| Motion     | Framer Motion                                             |
| Database   | Neon serverless Postgres, Drizzle ORM                     |
| AI         | OpenAI SDK (bill summarization)                           |
| SMS        | Twilio                                                    |
| Push       | web-push (VAPID)                                          |
| Typography | Inter, Playfair Display, Source Serif 4                   |
| Icons      | Lucide                                                    |
| Tooling    | pnpm workspaces, ESLint 9                                 |

## Links [#links]

* **Source:** [github.com/FardinIqbal/civica](https://github.com/FardinIqbal/civica)
