HomeZero · site spec · 2026-06-24

The Read-Led Cutover

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:

The principle

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

Surface 1 — the board, read-led

Everything money-as-hero comes off. Cards lead with the verdict read. The advisor’s message becomes prose.

What comes off remove

What the card becomes keep / lead with

[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

Before — money-led (live today)

$625,000 stretch
withinstretchover
57 Cedar Drive
● 64 · solid, with a catch
Footing  $520,000  your number

After — read-led

caution
Walkable, chasing the market down
57 Cedar Drive
$625k
good
Honest price, heart of town
229 Colorado Ave
$425k

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.

Surface 1b — the advisor’s message becomes prose

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.

Before — a chart

✦ What I'm learning about you
Quiet street
Water rights
Wants a workshop
Budget comfort

After — prose, the advisor’s voice

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

  • Still feeling out your budget comfort and timeline.
  • I’ll keep weighing homes against this — tell me where I’m wrong.

How it’s sourced

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:

Decided · One voice. The read folds under the board’s existing advisor voice line (same visual family) — not a separate panel. The board has a single advisor voice.

Surface 2 — the launchpad (§06)

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.

1 · Greeting prose, no label

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)

2 · Install hero build

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.

3 · WhatsApp sub-card build

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

4 · Market Report billboard build market agent · numbers, not prose

The market agent’s daily billboard — white tiles, centered, big bold Fraunces numbers. Data-light. Five seed tiles:

43
On the market
$599k
Typical asking
58d
Median on market
13
Over the record
2
Honest deals
Dependency · Who computes the five numbers? They’re all derivable from Convex 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.

5 · Board intro + mini-preview build

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.

6 · Workbenches placeholders, “Soon”

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

7 · Team roster keep

Your advisor · the North Fork Valley market agent — the roster already on /home.

Out of scope (this cutover)

Build slices (the plan will detail)

Board cutover — money off, cards read-led

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.

Advisor prose read — pipeline + author + render

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.

Launchpad §06 — hero + WhatsApp + billboard + read-led preview

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.

Decisions (locked 2026-06-24)

1 · The read’s placement — ONE VOICE. The prose read folds under the board’s existing advisor voice line; no separate panel. The board has a single advisor voice.
2 · Billboard source — LIVE CONVEX QUERY now. A Convex query computes the five tiles from listings + verdicts. Market-agent authorship is a later swap; the numbers are identical.
3 · Install hero preview — LIVE, with fallback. Pull 318 3rd St from Convex if present; fall back to a static mock if the listing isn’t there.
Sources: 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.