The problem

California has legalized more small-scale housing, but a legal pathway is not the same as a buildable project. Independent agents, homeowners, and local builders still have to reconcile fragmented zoning rules, parcel constraints, costs, financing, and market demand. Cheap eligibility lists create false positives; specialist analysis is too expensive for many small operators.

What HABU does

HABU starts with one address and evaluates six development paths and their variants. It combines approved zoning rules, parcel conditions, costs, financing, and comparable sales to reject weak options and rank the next action. The Nimble Attainability Index anchors the work to what local households can afford; our Sacramento County baseline shows an approximately $143,000 gap between median-household purchasing power and recent two-bedroom closings.

How Gemini runs the business

  • Gemini 3.1 Pro Preview converts long municipal ordinances into schema-constrained rule candidates with source citations. A human must approve a candidate before it can affect a report.
  • Gemini 3.5 Flash produces constrained communication and action plans for deployed report workflows. Deterministic TypeScript—not the model—owns eligibility, calculations, and customer-facing facts.
  • A scheduled Gemini operations workflow detects missing calibration outcomes, chooses from approved actions, records an audit receipt, and deduplicates internal work.
  • Every applied call records the model, workflow, request hash, token use, latency, and timestamp; failures fall back deterministically.

This separation lets a small builder operate research, underwriting, reporting, and learning workflows that would normally require several specialist teams without allowing an LLM to invent legal or financial conclusions.

Business proof during the hackathon

Two independent real-estate agents—both first-time HABU customers reached through the founder’s pre-existing professional network—each purchased a one-time $2,500 local opportunity-list and branded infill-market package: $5,000 in disclosed third-party revenue. Against $4,611.31 in documented cash expenses, HABU produced $388.69 in cash profit during the build window. These first sales are promising evidence of willingness to pay, not yet proof of repeatability.

HABU has three connected revenue paths:

  1. Homeowners receive a free Opportunity Range and can purchase a $249 detailed report.
  2. Agents purchase local opportunity intelligence and a branded market channel.
  3. Qualified projects can flow to Nimble Development for construction management, design-build, joint venture, or acquisition.

What we built

HABU runs on Google Cloud using Cloud Run, Cloud SQL for PostgreSQL/PostGIS, Cloud Scheduler, Cloud Run Jobs, Cloud Build, Artifact Registry, Secret Manager, Cloud Storage, and Google Maps Platform. The Gemini API provides recurring model inference. The system stores parcels, approved jurisdiction rules, reports, funnel events, AI decision receipts, and human-verified project outcomes.

What we learned

The hardest problem was unreliable, fragmented housing data. A parcel can look eligible under state law and still fail because of local rules, access, utilities, fees, financing, or economics. We learned that the breakthrough is not producing a longer list of “possible” properties. It is rejecting false positives, exposing uncertainty, and helping the strongest opportunities survive each step toward construction.

Next proof points

We will remain Sacramento-first and measure paid conversions, owner responses, consultations, site visits, LOIs, permits, signed project agreements, estimate-to-actual accuracy, completed homes, and sale prices relative to the attainable ceiling. Outcomes are requested at 30, 90, 180, and 365 days, and only human-verified results enter calibration.

HABU is the intelligence layer connecting housing policy to executable projects—giving small real-estate businesses tools to compete while helping more attainable homes move from law to reality.

Built With

Share this project:

Updates

posted an update

the last five days turned HABU from a promising zoning/report prototype into a live, more defensible product and data platform.

Product + Deployment We unified the frontend architecture, moved the app toward a single React/ Express-served experience, and deployed the new public IA live on getrealdeal.ai. The site now has a clearer SSR homepage, /lp funnel, / admin cockpit, and /reagent agent surface. We also corrected deploy targeting so production points at the real habu-1gxak2 project, added GA4/ GTM support, protected dashboard access, and verified the live Stripe test checkout path.

Revenue + Lead Flow We raised the report price to $249 launch / $299 Sept. 1, wired paid- report delivery after checkout, and changed email delivery from PDF attachment toward inline email-safe report summaries. We also added homeowner funnel polish, CTA cards, testimonials, agent co-labeling, captured-leads CLI support, agent API-key onboarding, and a scoped /my- leads model for partner agents.

Mail + Marketability Layer We backfilled owner/mailing fields for Sacramento and Riverside public assessor data: about 711,930 parcel rows updated. The mail-target refresh produced roughly 407,674 scored targets, 407,595 with mailing addresses, and 339,331 mailable targets above the threshold. That is the start of HABU becoming not just a report product, but an outbound lead and market selection engine.

Zoning + Ordinance Pipeline We made major progress on the zoning legal-data loop. We added WAF/PDF extraction fixes, QCode/Sacramento County source migration, Municode/ eCode360/amlegal self-resolving fetchers, Gemini reparse flow, zoning crosswalk protocol, raw parsed-rule gating, and human review tooling. We also added the /admin/review counsel surface, fixed source_url / quoted_text loading, and added review-class triage plus bulk state-floor approval.

Eligibility Engine We added real capability to the zoning engine: Sacramento min-lot context, Phase 1A frontage keys for SB9, min-lot frontage capture, and Phase 1B FAR / lot-coverage consumers. We also guarded market-value keys from the ordinance approval gate so valuation assumptions do not get falsely treated as legal facts.

Data Scale-Out We moved beyond the pilot substrate. The parcel/overlay work reached about 7.27M local parcel rows and 51,633 overlay rows. Track A completed 18/18 parcel gap backfills and 143/143 overlay bbox ingests with zero failures. We also added the statewide city-resolution parcel ingest engine, a 32- county endpoint registry, and wired more county parcel endpoints including San Francisco, Santa Clara, and Orange-related work.

Confidence + Valuation We completed the valuation confidence research pass and pushed it to master: add confidence range research. The important decision: exact real-estate market values should not claim 95% certainty. Instead, HABU now carries scalar engine values plus 95% confidence ranges based on Redfin, Zillow, and local parcel distributions.

Governance + Documentation We documented kill criteria, pricing epoch rules, legal-review copy risks, deployment runbooks, the Learning Loop, calibration logic, and the statewide fallback decision. We also added CI/typecheck/test infrastructure with Postgres/PostGIS coverage and registered HABU for more autonomous repo routing.

Bottom Line Five days ago HABU was still stitching together funnel, valuation, zoning ingestion, and dashboard pieces. Now it has a live production surface, paid-report flow, agent attribution model, internal cockpit, counsel- review path, large-scale parcel substrate, stronger zoning ingestion, and a documented valuation confidence framework.

Main remaining edges: Los Angeles/San Diego/Arden-Arcade parcel readiness, Auburn ADU source gap, counsel review of pending ADU rows, and the naming/ scoping decision for “statewide” valuation fallback.

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

posted an update

Merged today (06-25): PR #29 mail-score fix (stop counting uncosted redev/SB684 as real net) · PR #30 prediction_log (D13 slice 1 — the self-calibration instrument layer) · PR #31 Learning-Loop Tier-3 market engine (D13 step 3 — merged 17:37 PT) · PR #32 mail_targets migration (dropped stale CHECK constraints → unblocked the full-county write) · PR #33 CI gate (GitHub Actions: typecheck + test with a live Postgres/PostGIS service) · PR #28 habu-prod-ndev deploy path + PR #27 M6 calibration (both rebased onto master + CI-green via /CI, then merged 18:1x PT). Plus the two dials Don SET by decision: A8 contingency = 10% · B5 mail floor = $50k — full-county run scored 407,674 parcels, 186,773 mailable at top_net ≥ $50k ($100k was the first pick; Don lowered to $50k for pathway diversity over a pure-SB9 list).

Added scope — D13: The HABU Learning Loop (self-calibrating valuation). RATIFIED via /COUNCIL 2026-06-25 (Opus 4.6 #1 / Gemini 3.1 Pro #2 / Grok-4 #3, architecture unanimous). Make the static valuation engine self-improving — log every prediction, measure error vs real outcomes, propose updated rule values — free-data-first, calibrated off Nimble's own builds, human-gated, additive-only. 8-step phased build in new §M. Slice 1 (prediction_log) already merged; the customer-facing Tier-3 attribution engine (step 3) is in-flight. Brief: HABU_Self_Calibrating_Valuation_Council_Brief_2026-06-25.md; spec: HABU_Codex_Learning_Loop_Ingestion_Spec.md.

** In-flight (NOT yet on master):** wt/email-pdf-trigger — email the free range as a PDF on lead capture via SendGrid + deploy wiring — pushed + in sync with origin; PR not opened yet (gh pr create --base master --head wt/email-pdf-trigger --fill). (#27/#28 closed out this /CI run — rebased onto master, CI-green, merged.)

** Reconciled — 06-24 work the prior snapshot never folded in (all MERGED):** E1 free range now wired via the homeowner property-search flow (PR #17) behind the $149 paywall gate (PR #20) · A14 cap-rate tiering by property value (PR #22) · SB684 vacant-SFR / SB 1123 + redev de-PEND + teardown valuation (PR #22) · CENSUS housing-units fallback → graded permit scorecard (PR #23 → D3/D4) · CAL FIRE statewide FHSZ runtime GIS (PR #21) · NAI plays-nice jurisdiction feed (PR #18 → L2) · brand retheme + shared design tokens (PR #14/#15/#19) · parallelized report narration + loading state + Gemini opening summary (PR #24/#13). Tests last verified 836 pass / 18 skip (06-23); D13 + email slices add tests on their branches (suite green on each per PR notes).

** Data-trust (unchanged):** Redfin comps are STATIC SEEDS, not a live feed (refresh script unbuilt) · SB9 land_value_per_sqft is the one RED input (conf 0.45) — and the $50k mail list is ~73% SB9 (+16% ADU, +12% add-on), so it still leans on that confidence until firmed (a $100k floor would make it ~100% SB9 — part of why Don held at $50k). (D13 exists precisely to tighten these.) Repo hygiene: root checkout C:\Dev\Projects\HABU trails origin/master again (root master 8458b60 < origin ba08159); 17 active worktrees + 2 agent trees. Integrate before any root work (git stashgit pull). Open branches: wt/email-pdf-trigger pushed, needs a PR (#27/#28 merged this /CI run). On Don: dials SET (A8 10% / B5 $50k) · #27/#28 merged (/CI) · open now: open the email-pdf PR · approve the A13 Phase-1 ARV conservatism label · I2 de-risk calls (Sac title officer + 3 lenders — gates legal spend) · H2 owner-data counsel (gates any actual mail drop) · Devpost AI-native evidence/narrative.

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

posted an update

Monday 06/22/26 Clarity hit me at the end of yesterday. The AI model will get us an approximate range of how much a parcel is worth once it is developed to its highest and best use, however it still needs a human in the loop. The best way to do this that I have found from my experience with Nimble Development is the be the human in the loop, checking the numbers and assumptions. Then I bounce my thoughts off a real estate agent who has access to live MLS data and comps, and my business partner, and then we triangulate on a real value. This predevelopment assessment will be how we end up monetizing.

A reset in the chat session helped me bring refocus to the end goal and path to getting there. A note on Claude’s Desktop App - I keep crashing it. It cannot handle the workloads I am throwing at it. Need to stick with the CLI and multiple sessions.

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

posted an update

Sunday 06/21/26 Father's Day - I spent it building the waterfall, pond feature. No computer on today - nothing running in the background. I need a sabbath - and my computer could use a break (do computers need a sabbath? Even a restart would help it at this point.

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

posted an update

Saturday June 20th, 2026 I am juggling family this weekend - multiple projects around the house (like building a pond and finishing pergola construction), with multiple guests coming through and my daughters dance recitals (3). I queued up the agents to pull in data past our first limited test area. I wanted to not lose the day due to me doing other things. I spend the day checking in on them every few hours. They need nudging - but that is okay for the amount of work we are doing with limited guidance. The format of draft spec and a series of tests for them to follow generally holds true. They are running into conflicts with public data sets (one database identifies a lot area in SF, another in acres for example). The point is that they are doing the long running grunt work in the background. Claude is steering Codex and Gemini to doing what the agents perform best at.

By the end of the day I am cooked. I have been obsessing over this project and running multiple research threads, trying out multiple tools (like Google’s Stitch) and can't remember where the results of my work are ending up between the various tools. (For example, I had a really nifty logo that I can't find now). The data set is clear (albeit very large), this is at its heart a data engineering problem. The logic is sound for a first pass but I need to QC it and tweak it based on actual company historical data.

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

posted an update

Friday 6/19/26 Spent the first part of the morning fine tuning some other projects - triage misc. Bugs that the QE Agent couldn't handle. Got the Learning Dashboard up and running and the Insights widget as well. Two very powerful tools that will continue to supercharge how you grow and advance. As I try out the different tools AND try and keep my AI tools productive - I am trying and learning and adjusting to new ways of working. I am using Docs and Slides for overall tracking as I go. Antigravity is turning out to be a real project management tool with a helpful projects folder and artifacts that let me keep tabs on all of the products we are developing.

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

posted an update

Thurs 6/18 Continued to build out the core of the product. I am starting to see it come together via our chat sessions - it all sounds right. Note that I haven't dug deep into the weeds to see how all the components connect, the database schema, the overall architecture (I did look at it - maybe I should have looked a little closer, we will see). I just trust that the system knows me enough by now (due to how our system is setup) but most importantly, that making changes after the first end-to-end pass comes to bear is easier than trying to architect the perfect system at this stage. Speed rules. We will see how much trouble I get myself in soon enough. Another thing that I've noticed is today I'm really focusing on only two activities at once. Normally I have three or four projects running because I can do that in different sessions. However, my context switching has been pushed to the max that way. The two projects I'm working on today, which is HABU and Learning Loops, need genuine understanding and focus. Therefore, I need to really focus on that and that I'm not working out of priorities. But I've developed so much that I need more focus. I need to focus. I think this is the crux of AI right now. It's shifted the bottleneck to me. I'm working harder and longer and having a blast while I do it. I am learning, growing, I feel like I am on the cutting edge. I am producing 1,000X more than I used to (I couldn't write code myself before), and yet I am not making any more money yet. My time is spent on purely developing things. Minimal distractions. Minimal human relationships (outside of my home). This will shift as I start to release different tools. Blue oceans- here I come.

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

posted an update

Wednesday 6/17 Reviewed results - took all morning for me to ingest into my head. Amalgamated the information into Claude Chat - compiled all artifacts into one baseline document, and Execution checklist to follow and Executive summary. Identified what Agents, Google tools and /loops, /goals or ARA Agent is recommended for each step of the action plan (DS as well!)

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

posted an update

Tuesday 6/16 Mom Test questions for a local agent - recorded via Just Press. Internalized his messaging. Namely that there is no go-to tool or list or source for SFH investor related opportunities that he is aware of. This is pretty typical. The real estate people are bombarded with AI options like all of us. The more experienced ones are used to interacting with people. They tend to be more focused on interacting and follow-up than trying out new tools.

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

posted an update

Sunday 6/14 Starting with Intuition and an old idea that had been shelved. Flutter project Researched current market state and whitespace. Pros / cons / next steps: Claude Code Logo generated on Imagen in Gemini Google Doc used for tracking progress / notes / updating / logged

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