💡 Inspiration: The $367 Million "Ghost Data" Problem
Seattle faces a housing crisis exacerbated by a massive permitting bottleneck. Analysis of city data reveals that over 12,000 permits are currently "blocked," creating an estimated economic drag of $367,000,000.
Architects are forced to navigate a "digital archipelago" of fragmented city data to move these projects forward. In our research, we discovered a critical flaw we call the "Ghost Data" Paradox:
- Layer 1 (The Authority): Has the correct legal zoning labels (e.g., NR3) but lacks technical parcel data.
- Layer 2 (The Math): Has the deep technical data (79+ attributes) needed for feasibility but uses "Ghost" zoning labels from 2016 (e.g., SF 5000).
- The "Zillow" Gap: Valid addresses often return "No Data" because the official Parcel ID (PIN) was "killed" during a lot boundary adjustment, even though the land still exists.
We built Pre-Permit AI to be the "Architecture of Truth"—an autonomous system that reconciles these conflicts to unblock housing.
🏗️ What it does
Pre-Permit AI is an autonomous auditing & reporting suite that acts as a "Sidekick" for architects. It doesn't just chat; it performs forensic data engineering.
- The Investigator (Gemini 3 Agent): If a city API lookup fails (the "Killed Parcel" issue), the AI uses Google Search Grounding to scan Zillow, Redfin, and County Assessor pages, identifying the current active 10-digit Parcel ID to "resurrect" the data.
- The Hybrid Truth Engine: It performs a Spatial Intersection—fetching geometry from the technical layer and physically projecting it onto the authority layer—to merge the correct legal label with the correct math.
- The Reporting Suite: Instead of a chat response, it generates a "Decompressed" Google Sheet. It maps 79+ raw JSON attributes into a professional "Airtable-style" feasibility report (Zoning, Capacity, ILR Ratios) that an architect can immediately use to submit a permit.
⚙️ How we built it
We utilized a "Double Dip" strategy, combining a forensic data pipeline with agentic reasoning:
Google Antigravity (Agentic IDE): We adopted the "Vibe Coding" workflow, using Antigravity's Mission Control to orchestrate our agent specs and generate the initial schema mappings.
- Gemini 3 Flash (Thinking Mode: High): The "Brain." We used the new
thinking_configto allow the model to reason through complex "Major Institution Overlays" (MIO) and conflicting address data. - Google Search Tool: Enabled the AI to "leave the app" and verify real-world property details when government data was missing.
- Confluent Cloud (Kafka): The "Nervous System." Every single search and audit is logged to an immutable ledger (
site.fetch.completed), ensuring the Forensic Traceability required by city officials. - Google Sheets API: The "Interface." We built a dynamic mapping engine that auto-creates tabs keyed by PIN to serve as a permanent record.
🚧 Challenges we faced
Our journey was defined by two major "War Stories" from working on the bleeding edge of the Gemini 3 SDK:
- The "Silent Web" Incident: Initially, our Cloud Run deployments failed because the UI was interpreting Gemini 3's "Thinking" monologue as the final answer and closing the stream early. We had to engineer a "Response Harvesting" logic to iterate through stream chunks and RegEx-extract the final PIN while ignoring the internal monologue.
- The 300-Second Wall: Gemini 3's high-level reasoning is thorough but slow. Complex audits were hitting the 300-second Google Load Balancer timeout. We pivoted to a Streaming Architecture, keeping the HTTP connection "hot" by piping the "Thinking" tokens to the frontend in real-time.
🏆 Accomplishments that we're proud of
- Solving the Roosevelt Case: We successfully "resurrected" the data for 11520 Roosevelt Way NE—a property that fails on the official city map—by using our Agentic Search pattern.
- The "Decompressed" Schema: We didn't just dump JSON. We successfully mapped 79 disparate technical attributes into 8 logical architectural categories, creating a tool that offers "Zero Loss" data fidelity.
🧠 What we learned
- Architects don't want Chatbots: They want Spreadsheets. The pivot from a "Conversation" to a "Reporting Suite" was the key to making this a professional tool.
- Agentic Search is a patch for Bureaucracy: We learned that LLMs can act as a "glue layer" for broken government APIs, finding connections (like retired PINs) that rigid SQL queries miss.
⏩ What's next for Pre-Permit AI
- Pilot Program: Validating the tool with BlackFox Studios and local non-profits to accelerate affordable housing projects.
- City Roster Qualification: Using our Confluent audit logs to qualify for the City of Seattle's "IT Consulting Roster" as a governed AI vendor.
Built With
- antigravity
- apache-kafka
- arcgis-api
- confluent-cloud
- docker
- esri
- gemini-3-flash
- git
- google-ai-studio
- google-cloud
- google-cloud-run
- google-search-grounding
- google-sheets-api
- python
- seattle-open-data
- streamlit


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