Flagship · applied AI product
Building a Civic AI Assistant with Source-Aware Tool Use
2026 · Launch-stage
A civic-tech product focused on making politics more legible at the local, state, and federal level, built so every claim cites its source. Ledger is the broader civic product; Vera is the AI assistant surface inside it.
- Next.js
- TypeScript
- Supabase
- Upstash
- Vitest
- Playwright
At a glance
- Role
- CTO
- Year
- 2026 · launch-stage
- Team
- Small founding team
- Stack
- Next.js · React · TypeScript · Supabase · Upstash · Vitest · Playwright
- Scope
- Civic AI assistant covering local, state, and federal political data
- Links
- Live URL coming soon
Why this mattered
Civic information is hard to navigate at scale, and most consumer-grade summaries strip out the provenance that makes a claim defensible. Ledger / Vera is built around source-aware tool use: every assertion in the product is grounded in a citable source, and the UI surfaces that grounding instead of hiding it. The thesis is that a civic AI assistant only earns trust if it can show its work.
My role and ownership
CTO. I own architecture and implementation across frontend UX, data contracts, provenance and citation behavior, testing infrastructure, rate limiting, CI, and product-definition work. The project doubles as a modern public proving ground for product judgment, maintainability, and shipping speed.
Core constraints
- Every claim in the product has to cite its source. Provenance is a UX requirement, not a debug feature.
- LLM behavior is the primary risk surface: hallucinated facts cost user trust faster than they earn it.
- Auth-aware behavior and rate limiting protect against cost and abuse vectors a public civic-tech product can't ignore.
- Small team and a public-facing shipping cadence that has to stay defensible as the codebase evolves.
Architecture and key decisions
Frontend UX & provenance flows
Product surfaces that let citation and context ride with every claim. The UI is shaped around trust: what did we assert, where did it come from, and how can a reader verify it themselves. Provenance is a first-class UX concern, not a hidden affordance.
- Next.js
- React
- TypeScript
- Tailwind
Data contracts & backend
Supabase for structured data, Upstash for rate-limiting and ephemeral state, with typed contracts at every crossing. The goal is to make the honest path the easy path as the schema evolves, and to keep surface-area changes local when boundaries are tight.
- Supabase
- Upstash
- TypeScript
Execution highlights
- Provenance-first UI shipped: every assertion surfaces its citation.
- Auth-aware behavior and rate limiting wired through Upstash.
- Vitest for units; Playwright for end-to-end flows; GitHub Actions for CI.
- Typed contracts across data, server, and client layers.
Impact / current state
Launch-stage. The provenance-first UI shape is settled; CI, auth-aware behavior, and rate limiting are in place. Public launch and operator tooling are the next milestones.
What this demonstrates
Applied-AI product judgment under public-trust constraints, full-stack ownership end-to-end, and the systems-level discipline to keep a civic-tech product shippable as it grows.