Homewise, three verified plumbers compared on the board, the pick marked

Homewise

AI command center for homeowners. A third of them put off repairs rather than face hiring someone. It scopes the job, compares the bids, and waits for your approval.

Project Type

Professional

Timeline

V1: May – Jun 2026
V2: Oct 2026

Team

Lead Product Designer (Me)
2 Product Designers
7 Engineers
3 PMs
V2: solo

Tools

React + Tailwind
Claude Code

What I did

  • Led the voice of customer research, 8 interviews synthesized into six findings that set the product's direction.
  • Owned Hearth, the design system, and built it as living code, so consistency is enforced by the repo, not by review.
  • Built the front end prototype in Claude Code, then handed the dev team the repo they shipped to production.
  • Rebuilt it on my own as Version 2 after usability testing showed people losing track of what they had approved.

Hiring a contractor is a guessing game

Most homeowners already expect this to go wrong

70%worry about hiring an unreliable contractor
41%have been deceived by a service provider
33%delay repairs to avoid the stress of finding someone

Leaf Home / Morning Consult, 2025. HomeServe, 2025.

Trust starts social: people ask a neighbor or a friend first, because they assume online ratings can be gamed. Then the grind begins. They repeat the same problem to contractor after contractor, book visit after visit, and wait on quotes that come back impossible to line up against each other. Three frustrations surfaced in almost every interview.

No way to know who to trust

"Finding the right person is the hardest part."

No benchmark for a fair price

"You can't really know if the price is fair."

Comparing quotes is exhausting

"I had to make so many phone calls just to compare prices."

Homewise interviews, 8 people, 2026.

The price anxiety is really scope anxiety

When contractors propose different fixes for the same issue, their quotes describe different work. One homeowner was quoted $250 to $7,000 for the same siding repair, and he had already worked out the answer: hire someone to define the scope, then send that one scope out for comparable bids. He had described Homewise before we built it. Fix the scope, and the price becomes legible.

Interview 1 of 8 · same siding repair, 5 contractors quoted

$250lowest bid $7,000highest bid

An agent that scopes the job before it shops it

Homewise acts on the reframe: scope first, price second. A chatbot would leave people guessing at both, so I pushed for a structured, human in the loop workflow instead. The agent works on its own between four stops, the scope, sending it to contractors, the booking, and the close out, and waits for your yes at each one, even when it is sure.

We skipped Figma and shipped version 1 in code

With the PMs and engineers, we made an unusual call: skip Figma and design in code from day one, a real React prototype on Hearth. The other two designers worked in the same repo, and I reviewed their pull requests. The dev team built the real backend straight onto it, and we tested it in three rounds. A full walkthrough of the shipped build, four minutes.

Three decisions and their tradeoffs

Three matches, not a marketplace

One scope goes to three verified contractors, not everyone nearby: less choice, but a decision you can make. All four testers picked one, and none asked for more.

A named cause, not a score

Testers asked what "92% confidence" meant. A source line and a step by step trail each added clutter, so the number went. People trusted the local price range, not the score.

A phone call, not an in-app chat

All four testers wanted to talk to the contractor before booking. We built a message box, then cut it: that talk belongs on the phone. Homewise removes the calls to compare prices, not the one before you hire.

The conversation carries the job, the board keeps the decisions

Version 1 gave every step its own page. Version 2, which I rebuilt on my own, puts the whole job in one window, and each finished step folds into one line, so your decisions stay in view.

The finding

Usability testing on version 1 kept surfacing the same thing: people lost track of what they had agreed to.

The cause

One column carried the agent's narration and the user's decisions together, so every step the agent took pushed your approvals into scrollback.

The answer

Three panes. The conversation carries the process and keeps moving. The board holds the decisions and does not move.

Define the scope, in plain language

You describe the problem in your own words and send two photos. The agent drafts the scope on the board: the most likely cause and an alternative, labor in hours, and a total checked against 46 local jobs. Nothing goes to a contractor until you approve it.

A match you can trust, not a list to sort

Three licensed plumbers on the same rows, from permits to Homewiser recommendations. The pick comes with its reasons, so it does not look like a paid placement, and amber marks only what needs a look. Before anything goes out, you see what they receive: photos with no faces, and your street and ZIP but not your house number.

Compare apples to apples, then you sign off

Quotes arrive in the conversation as they come in, and the agent nudges the one running late. On the board they line up against one scope and the local price range, and the headline gives the answer. Every column offers a call first, then you pick a time and book.

A booking you can still change

The visit lands on the board: when the plumber arrives, the price, and the last time you can change it for free. The conversation shows the same deadline.

The job closes when you say so

The plumber marks the visit done with three after photos, but the job closes only when you confirm the work. Recommending them is a plain yes or no that adds to their Homewisers count, and sharing your photos stays off unless you turn it on.

A working prototype, not a mockup

Hearth, calmed so a decision reads at a glance

Version 2 keeps the palette and type of Hearth, the system I owned for the team, and adds a small kit on top, because the board only works if a decision reads at a glance. Geist at 400 to 600, five sizes, one rule color, and three washes that each mean one thing.

The color roles board: canvas, board, ink and the one rule color, then sage, ember and sky, each with its hex and its job
The type roles board: Geist in five sizes from the 26px title to the 12px meta, each with real Homewise copy, its spec and its use
The status board: working, needs you, waiting, done, idle and live, each a glyph and a word on a real status line
The controls board: primary, secondary, ghost and disabled buttons, chips, a radio group of time slots and a toggle that is off by default

People hand over the work only when they can check it

Hiring a contractor is hard because nobody can tell whether the scope or the price is right, so people put repairs off. More automation does not fix that. Homewise turns a guessing game into a decision people can check, and leaves the final yes with the homeowner. An agent earns trust by showing its work, not by doing more of it.

Tell me what's on your horizon.

changmou627627@gmail.com
Hey, I'm Chang. Well, the AI version. Feel free to ask me anything.

Powered by Claude Haiku 4.5