💡 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.

  1. 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.
  2. 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.
  3. 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_config to 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:

  1. 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.
  2. 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
Share this project:

Updates