DIY or Pro?
Photograph a household problem and get a clear call — fix it yourself or hire a pro — plus what people like you actually did.

People don't fix small things at home because they can't name the problem, so they can't search for it. Together with Paul Wipper I designed and built a photo-first app: a vision model identifies the task, structured cards compare DIY and pro, and a k-NN recommender shows what similar users did.
- Role
- Product & UX, prompt design, app frontend
- Team
- Paul Wipper
- Context
- Intelligent User Interfaces — HM Munich
- Tools
- Claude Sonnet (vision), FastAPI, Expo / React Native, k-NN recommender (Python), Google Places & YouTube APIs
The vocabulary gap
A dripping tap, a dead socket, a blank wall that needs a shelf. Most people could fix a lot of this themselves — but they don't know what it's called, so they can't search for it, and they can't tell whether it's a fifteen-minute job or a call for an electrician. So they either ignore it or pay a pro for something simple.
Our concept paper put it like this: it's a gap in expert language, not a gap in intelligence or motivation. The target users were tenants and homeowners in Germany without trade experience.
Photo first — and the user stays in control
A photo needs no vocabulary. But a classic image classifier wasn't enough: a photo of a blank wall could mean "I want to mount a shelf", "the paint is damaged" or "there's a crack". Pixels alone can't resolve that — so we used a vision-language model and an optional line of text.
We also decided against a category picker before the photo. Asking "is this electrical or plumbing?" brings the vocabulary barrier straight back — and someone who already knows the answer isn't who we were designing for.
Because the model can be wrong, the user sees what it detected first and can correct it before any advice is generated.
Decisions, not essays
The backend makes two model calls, both forced into a fixed structure: the first classifies trade, difficulty and confidence — and says when a photo shows no household task at all. The second writes one to five cards: a DIY option with tools, steps, time and cost, and a pro option with a price range and craftspeople nearby.
Cards instead of a chat, because people here are trying to decide, not read. And one rule overrides everything: burn marks, gas, or water near electrics always mean Pro — no DIY workaround.

"What did people like me do?"
A recommendation like "you should do this yourself" feels pushy. So we show what comparable people actually did: "68% with a profile like yours did this themselves." The profile comes from a four-question onboarding — four taps instead of eleven sliders — mapped onto eleven values on the phone. A k-NN recommender (Paul's part) finds the 50 most similar users; the badge stays hidden when there aren't enough comparable ones.
My part was combining the two signals: the AI's verdict and the social proof.
Measuring it
We tested the image step on a curated set of 15 household photos (14 evaluated) and the recommender on 120,000 simulated decisions, with test users never seen in training.
The percentages are honest: when the app says 70%, about 70% of similar users really do it themselves. The misses were telling too — the blank wall was the hardest photo, and some tasks were rated more cautious than expected, which raised a product question rather than a bug: how careful should the app be?

Closing the loop
The next time the app opens, it asks how the last task went: did it myself, hired a pro, haven't gotten to it yet. The answer feeds back into the profile, so the recommendations get more personal the more someone uses it.
What I'd do next
- Real data. The recommender learned from synthetic users, so the percentage is a model prediction, not real social proof yet.
- User testing. We planned ratings of the cards and a trust check — that's the first thing I'd run.
- Privacy before launch. Photos of someone's home need consent before the first upload, EU hosting and GDPR compliance.
- Compare models. We only used one provider; cost, speed and privacy trade-offs are still open.
What I'm taking from it: the hardest part of an AI feature isn't the model call, it's deciding when the product should trust it — and designing the moments where the user can say "no, that's wrong".
