HomeZero · site spec · 2026-06-24
The board and the launchpad still wear the old money dashboard — a price slider, per-card affordability meters, a UI-derived score, and (newest sin) a confidence-bar chart. Funnel-v2 killed all of that. This is the cutover that finally lands it: the read leads, the agents speak in their own voice, and the money math comes off the surface.
72% of homes here are caution-or-overpriced — 13 overpriced + 18 caution of 43. Only 2 are “good.” A budget slider tells you what you can afford. The read tells you that almost nothing on this market is honestly priced — which is the thing a buyer actually needs to know. Lead with the read. funnel-v2.html §07 — the sharp proof
Two surfaces change, plus one shared idea about who talks how:
Verdict (category + headline) leads every card. The number is not the story; the read is. Budget = a quiet filter on the board, not a per-card hero. Carry/footing → a “Run your numbers” workbench, off the cards. funnel-v2.html §07 — locked decisions
Killed: the money slider. One data point was hijacking every card — a parlor trick. Affordability is one input, not the headline. It comes off the cards. funnel-v2.html §07 — the kill
The greeting at the top is the agent simply talking to you. No “advisor:” label, no quotes, no “written by” line. It just is your agent. funnel-v2.html §06 — the advisor voice
Everything money-as-hero comes off. Cards lead with the verdict read. The advisor’s message becomes prose.
.footing block (drag-a-ceiling + within/stretch/over tally)..meter widget on every home card..kscore number; it was UI-derived from the verdict + slider, exactly the parlor trick the spec kills..lpanel chart I just shipped (replaced by prose below).affordBandNum, meterPct, homeZeroScore, BUDGET_CEIL, SCORE_BASE/LABEL, the ceiling/tally state, the budget derivation.[overpriced] A genuine cabin, an optimistic price — 41014 Beaver Trail — $509k
[caution] Walkable, chasing the market down — 57 Cedar Drive — $625k
[fair] An honest price, finally — 613 3rd Street — $306k
[good] Honest price, heart of town — 229 Colorado Ave — $425k funnel-v2.html §07 — the read-led card mock
The verdict chip + headline lead; the address and price are the footnote. No slider, no meter, no score. Price stays as a quiet fact, never the hero.
The “What I’m learning about you” panel renders as a chart of confidence bars today. It should be the advisor talking — a short paragraph, maybe a bullet or two, in its voice, no “advisor:” label. The bars were the same money-dashboard instinct in a new spot.
✦Here’s where I’ve got you so far: you’re leaning toward a quiet street with room for a workshop, and water rights matter. Price hasn’t been the thing that moves you.
Reuse the learningPanels pipeline that 1B/1C already built (the table, the public-safe query field on cardsForUser, the no-private-data guard). Change its shape and author:
items: [{label, confidence}] → an advisor-authored read: { summary: string, points: string[] } (still public-safe — buyer-facing prose, never the private prompt/why).project_learning (bars from yearnings) for project_read — the model writes 1–2 sentences + up to ~3 short bullets, in its voice, from its yearnings.The activation-first /home. Order is fixed for now (the agent can make it fluid later). Each piece below is from funnel-v2 §06 + launchpad-redesign.html.
Morning — the North Fork’s soft right now: 13 homes priced over the record, but 229 Colorado Ave ($425k) is the real thing. Want me to start there? launchpad-redesign.html — the greeting (advisor voice; same session as WhatsApp + board)
claude.ai/downloads styling. Dark Install button on the left; on the right, a live Zillow + HomeZero preview of a real listing — 318 3rd St, $615,000 — so the value is obvious before the click.
A typeable number field + Connect (moved here out of onboarding). “Your advisor texts a short morning briefing and live alerts on the homes you’re watching — the same thread it greets you in up top.”
The market agent’s daily billboard — white tiles, centered, big bold Fraunces numbers. Data-light. Five seed tiles:
listings + verdicts (count, median price, median days-on-market, count of overpriced, count of good). Cheapest path: a Convex query computes them live. Spec-true path: the market agent writes a billboard row daily. Recommend a live Convex query now, market-agent-authored later — the numbers are the same.The board is introduced here; opening it is the next step. The mini-preview must be read-led too — kill the current foot-bar mock + within/over chips; show verdict headlines.
“Run your numbers,” “Compare homes,” “Your shortlist” — marked Soon. “Run your numbers” is where the carry/footing math lands when it’s built — that’s the home the money slider moves to.
Your advisor · the North Fork Valley market agent — the roster already on /home.
morningBrief) is its own slice.Frontend-only. Remove the Footing block, per-card meters + band, the score, and all dead money code from board/page.tsx + the matching CSS in app.css. Cards lead with the verdict chip + headline. No backend change.
Backend: reshape learningPanels → {summary, points[]}; setLearningPanel → setRead; cardsForUser returns the read. Flue: project_learning → project_read + the tend/dream prompt composes the prose. Frontend: render prose where the chart was; delete .lpanel. Deploy Convex + flue + www; trigger a beat to populate.
Rebuild home/page.tsx + home.css to the §06 order: greeting (prose) · install hero + 318 3rd St preview · WhatsApp sub-card · Market Report billboard (live Convex metric query) · read-led board mini-preview · workbenches (Soon) · roster. Kill the foot-bar mock + affordability chips.
listings + verdicts. Market-agent authorship is a later swap; the numbers are identical.specs/funnel-v2.html §04/§06/§07/§08 · specs/launchpad-redesign.html · live app/(app)/board/page.tsx + app/(app)/home/page.tsx. Supersedes the confidence-bar learning panel shipped 2026-06-24 (PR #54). Next: review → plan (writing-plans) → SDD.