Pinpoint — Civic tech | An App Idea LLC

Officials, legislation, AI voice chat, and moderation in one product.

Expo SDK 54Express APIPrisma ORMRailway deploys
SSE + TTSAI voice
6 hr cacheSearch proxy
Decision ledgerOps trail
Timeline12-month solo build
TeamFounder-led with admin tooling
PlatformiOS · Android · Web
ImpactAI chat · surveys · moderation
Problem

The challenge

Most civic products either expose raw public data without useful context or bolt AI onto a narrow chat surface. Pinpoint needed to unify officials, legislation, surveys, community features, and moderation across mobile and web without becoming a pile of disconnected screens.

Approach

How we built it

I built the stack around Expo, Express, Prisma, and PostgreSQL, then added direct Firebase token verification via Google JWKS, SSE-based Gemini chat, text-to-speech proxying, civic-data search proxies, and a durable moderation ledger. On the product side, the interface centers on a swipe-based dashboard, deep links, and dedicated admin workflows.

Outcome

What shipped

The result is a real platform rather than a civic-tech demo: one codebase serves iOS, Android, and web, AI chats stream with voice responses, moderation decisions stay auditable, and the release process is backed by CI, secret scanning, and reliable Railway deploys.

Results

Outcomes

  • Shipped one shared product across iOS, Android, and web instead of a disconnected set of prototypes.
  • Built streaming AI official chat with personality modes and ElevenLabs voice responses.
  • Added durable moderation workflows, searchable civic data proxies, and an operator-facing admin dashboard.
Engineering

Tech stack

React NativeExpoTypeScriptExpressPrismaPostgreSQLGeminiElevenLabs
Civic TechMobile + WebAI VoiceAdmin Ops
← All workCivic tech