Team of 4 · 2026
PermitPilot
A compliance dashboard that checks a small-business permit application against 5 city agencies at once, cites the municipal law behind each rule and flags conflicts between agencies.
- React
- Tailwind CSS
- Node.js
- Express
- Supabase
- Gemini API
- manual research vs processing
- 14 wk → <30 s
- end to end, including review and forms
- ~14 min
- city agencies checked in parallel
- 5
The problem
Opening a small business means satisfying zoning, health, fire, building and licensing departments separately, each with its own rules and no view of what the others require.
My role
One of 4 engineers.
What I built
- A React and Tailwind intake flow and review dashboard.
- A Node and Express gateway that fans each application out to 5 agency agents in parallel.
- Conflict detection across agencies and a generated checklist citing municipal law.
- Supabase persistence for applications and results.
- Agents first built on Claude Sonnet 4, then moved to the free Gemini API to keep running costs at zero.
The hard part
Agencies disagree. The system had to reason about each department independently, then find where their requirements collide before producing one checklist.
Why it matters
Applicant research that typically takes weeks becomes a single reviewable report with sources.
How it was measured
About 14 weeks of research by hand against under 30 seconds of processing. Reviewing the roadmap and filling in the documents brings the whole process to about 14 minutes.
Architecture
- 1Intake formBusiness details and location
- 2OrchestratorNode and Express gateway
- 35 agency agentsZoning, health, fire, building, licensing
- 4Conflict detectionCross-agency collisions
- 5ChecklistCited, unified next steps