Inspiration
I built CivicMint because I wanted to solve the crushing bureaucratic friction small business owners face just to open their doors. Watching founders struggle to parse fragmented, dense municipal codes inspired me to create an intelligent system that turns weeks of red tape into a streamlined workflow.
What it does
CivicMint is an AI-driven local compliance and permit navigator. By ingesting local municipal codes into a vector database, it instantly cross-references a user's business description to generate a precise, citation-backed permit checklist and map the data directly onto official PDF application forms.
How I built it
I engineered CivicMint using a production-grade stack:
- Frontend: Built with Next.js App Router, TypeScript, Tailwind CSS, and Lucide icons for a responsive user dashboard.
- Backend: Powered by Python FastAPI, LangChain, and Pydantic models to guarantee strict, structured JSON outputs.
- RAG & Storage: Integrated Chroma/Pinecone vector databases with strict municipal document retrieval.
- Document Processing: Used Python pypdf to map data onto downloadable, pre-filled PDF forms.
Challenges I ran into
- Debugging backend type mismatches during agentic orchestration, which I resolved by correctly wrapping query results in lists within my backend scripts.
- Preventing LLM hallucinations, which I solved by enforcing hard metadata citations linking every requirement back to exact municipal code chapters.
- Securing the app against malicious prompt injections and ensuring clean exception handling so the UI never exposes stack traces during a live demonstration.
What I learned
Building CivicMint taught me how to design robust, production-grade AI agents with zero-hallucination guardrails, strict input sanitization, and reliable API error resilience under pressure.
What's Next for CivicMint
- Expand municipal code vector databases to cover additional cities and counties beyond Springfield, IL.
- Implement user authentication and saved business profiles to track permit status over time.
- Integrate direct municipal portal API submissions for end-to-end automated permit filing.
Built With
- chroma
- fastapi
- langchain
- next.js
- pydantic
- python
- tailwind-css
- typescript


Log in or sign up for Devpost to join the conversation.