A free, open-source civic transparency web app that makes U.S. government spending understandable to everyone.
Live site: https://phil08533.github.io/CitizenAudit/
- Tax Estimator — Enter your income, filing status, and dependents to see a personalized breakdown of where your federal taxes go
- Spending Explorer — Browse all federal agencies, their budgets, and major contracts with search and filtering
- Agency Detail Pages — In-depth view with budget history charts and contract data
- Representative Lookup — Find your senators and House member by ZIP code (live API or demo mode)
- Contact Action Center — Pre-written email templates for reaching your elected officials
- Dark/Light Mode — System-aware theme with manual toggle
- 100% Static — No server, no database, no login required
| Tool | Purpose |
|---|---|
| React 19 + TypeScript | UI framework |
| Vite | Build tool & dev server |
| TailwindCSS v4 | Styling |
| Recharts | Charts & data visualization |
| Framer Motion | Animations |
| React Router v7 | Client-side routing |
| Lucide React | Icons |
All data comes from official U.S. government sources:
- USASpending.gov API — Agency spending, contracts
- Fiscal Data Treasury — National debt, interest payments
- OMB Budget — Budget category allocations
- IRS 2024 Tax Brackets — Tax calculations
- Google Civic Information API — Representative lookup
npm install
npm run devOpen http://localhost:5173/CitizenAudit/
npm run buildThis outputs a static site to dist/.
- Push this repo to GitHub
- Go to Settings → Pages
- Under Source, select GitHub Actions
- The included
.github/workflows/deploy.ymlwill automatically build and deploy on every push tomain
Your site will be live at https://<your-username>.github.io/CitizenAudit/
For live representative lookups, create a .env.local file:
VITE_GOOGLE_CIVIC_API_KEY=your_api_key_hereGet a free key at: https://developers.google.com/civic-information
Without a key, the app shows demo representative data.
src/
├── components/
│ ├── layout/ # Navbar, Footer
│ ├── charts/ # Pie, Bar, Area charts
│ ├── cards/ # AgencyCard, RepresentativeCard
│ ├── ui/ # StatCard, SearchFilter, LoadingSkeleton
│ └── forms/ # TaxCalculator
├── pages/ # All 8 pages
├── services/ # API integration layer
├── data/ # Static JSON mock data
├── hooks/ # useTheme, useLocalStorage
├── types/ # TypeScript interfaces
└── utils/ # Tax calculator, formatters
MIT — Free to use, fork, and improve.