Inspiration
Building-plan readiness is still surprisingly fragmented. A property can sit inside multiple administrative and regulatory layers, while the information needed to understand what applies may be scattered across planning portals, authority websites, regulations, and technical documents.
That creates uncertainty long before a formal professional or authority review begins.
We built PlanCodeScan to explore a simpler idea:
Start with the property location, establish the jurisdiction and evidence state, and only then move toward plan readiness.
Our goal is not to replace architects, engineers, licensed professionals, or authorities. It is to make the early stages of regulatory readiness easier to understand and more evidence-driven.
What it does
PlanCodeScan is an AI-native building-plan readiness platform built around the workflow:
Property Location → Jurisdiction → Regulatory Evidence → Readiness
A user can:
- sign in to a protected dashboard;
- start a new project;
- select or resolve a project location;
- inspect the jurisdiction and current regulatory coverage state;
- use Gemini to explain that structured coverage state in plain language;
- understand whether enough verified information exists to continue toward readiness analysis.
A core design rule is that recognizing a location does not automatically mean regulatory coverage is verified.
If sufficient verified evidence is unavailable, PlanCodeScan preserves that uncertainty instead of manufacturing a compliance result.
How we built it
PlanCodeScan is built with:
- Next.js and TypeScript for the application;
- Supabase Auth for authentication;
- Supabase PostgreSQL for structured project, geography, authority, and evidence data;
- Google Maps Platform and Places API for location-aware workflows;
- Gemini 3.6 Flash through the Google GenAI SDK;
- Vercel for the public production deployment;
- GitHub Issues, Milestones, Projects, and Actions for traceable product delivery.
The geography foundation is designed around a flexible global hierarchy rather than one hardcoded city:
Country → Admin-1 → Admin-2
This lets the regulatory layer grow jurisdiction by jurisdiction while keeping location recognition separate from verified regulatory support.
How Gemini is used
Gemini is intentionally bounded.
In the deployed application, the Explain Coverage Status with Gemini feature receives structured state already known by PlanCodeScan and converts it into a concise explanation for the user.
Gemini may help:
- explain coverage status;
- structure candidate evidence;
- surface uncertainty;
- make technical states easier to understand.
Gemini may not:
- invent regulations;
- invent setbacks, height limits, FAR, or other missing requirements;
- establish itself as a regulatory authority;
- automatically convert candidate information into verified coverage;
- guarantee permit approval.
Our trust model is:
Gemini proposes or explains evidence.
Verified sources establish authority.
Deterministic application logic decides readiness.
Challenges we faced
The hardest challenge was designing an AI workflow that remains useful without allowing the model to silently become the source of regulatory truth.
We therefore separated:
- location recognition;
- jurisdiction and authority discovery;
- candidate source discovery;
- source and rule verification;
- deterministic readiness evaluation.
During final controlled testing, the base Gemini API remained operational, while the Google Search-grounded regulatory discovery path encountered the active project's Search Grounding quota limit.
Instead of bypassing that limitation or promoting incomplete AI output, we kept those discovery operations blocked and preserved the unverified state.
For the deployed demonstration, Gemini uses the structured application state without Search Grounding.
What we learned
The biggest lesson was that AI confidence is not the same as regulatory evidence.
For professional-services workflows, provenance and uncertainty matter as much as model capability.
We also learned that a global regulatory product needs to distinguish very clearly between:
- a location being recognized;
- an authority being identified;
- a source being discovered;
- a source being verified;
- rules being structured;
- readiness actually becoming available.
That separation became one of the central architectural principles of PlanCodeScan.
Professional Services Access
PlanCodeScan fits the Professional Services Access category because it is designed to help users understand regulatory readiness earlier, before expensive professional or authority review.
It does not attempt to remove professionals from the process.
Instead, it can help users arrive at professional review with:
- clearer jurisdiction context;
- better-organized evidence;
- visible uncertainty;
- prioritized next actions.
Business model
PlanCodeScan is designed around a simple access model:
Free
- Location lookup
- Jurisdiction lookup
- Coverage lookup
Global Starter
- $1 first subscription month
- $5/month thereafter
- 15 AI Plan Checks per billing period
- $2 per additional manual AI Plan Check
Professional Review
- Separate optional human verification and professional-service pricing
The current submission is an early deployed product, and we do not claim revenue or customer traction that has not occurred.
What's next
The next stages are:
- expand verified regulatory source coverage;
- create versioned regulatory rule packs;
- add document intelligence for uploaded plans;
- implement deterministic blocker and readiness evaluation;
- generate prioritized Fix Plans;
- support plan revisions and rechecks;
- expand professional verification workflows.
The long-term goal is straightforward:
make building-plan readiness easier to navigate without compromising regulatory trust.
Live product
🌐 PlanCodeScan: https://plancodescan.vercel.app/
Built With
- ai
- api
- architecture
- building
- css
- gemini
- genai
- generative
- govtech
- maps
- next.js
- places
- platform
- postgresql
- professional
- react
- regtech
- saas
- sdk
- supabase
- tailwind
- technology
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.