Inspiration
Finding a home is hard for everyone — and nearly impossible if you can't drive to ten viewings, can't read tiny listings, or can't climb the stairs to tour a place. For people with mobility, vision, or hearing differences, the search is full of barriers before you even get to the rent. For the Housing Dignity track we asked: what if you could find, tour, and book an affordable, accessible home using only your voice — without leaving your chair?
What it does
Haven is a voice-first, accessibility-forward housing platform:
- Find by voice — say what you need ("a two-bedroom under $1,500 in Milpitas, wheelchair accessible") and Claude turns it into a ranked list of affordable, accessible homes.
- Tour in 3D — step inside a real, photorealistic Gaussian-splat capture of the home and walk through it hands-free, by voice ("go to the bookshelves," "turn around") or by dragging like Street View.
- Ask anything — ask about any room or the listing ("is the kitchen accessible?", "how much is rent?") and hear a spoken answer grounded in the home's data — or an honest "that isn't listed."
- Book by voice — say "book a viewing and call the realtor" and an AI voice agent actually places a phone call to set up the appointment, with a live transcript you can watch.
Find → tour → book, completely hands-free.
How we built it
- Next.js 16 + React 19 + TypeScript + Tailwind, deployed on Vercel.
- Claude (claude-opus-4-8) with structured outputs powers every language task — search parsing, 3D navigation, room Q&A, and an app-wide voice "command brain" that routes intent (search / open a home / navigate / ask / book).
- Web Speech API for in-browser speech-to-text and text-to-speech.
- Spark (@sparkjsdev/spark) on Three.js renders real Gaussian-splat captures in the browser.
- ElevenLabs Conversational AI + Twilio place the autonomous outbound call to the realtor.
- A live activity dashboard and call history with transcripts round it out.
Challenges we ran into
- The voice talking over itself. The open mic kept hearing our own text-to-speech and re-triggering. We built echo detection, a grace window, and a watchdog so the agent ignores itself but still lets you barge in and cut it off.
- Gaussian splats are finicky — real captures meant wrestling with splat formats and GPU-upload timing to render in-browser.
- Making the call real — wiring ElevenLabs' agent to Twilio for a genuine outbound call, with a demo-safe simulation fallback.
- Intent routing — telling "go to the kitchen" (navigate) from "how big is the kitchen?" (question) from "book it" (action), all from one voice stream.
What we learned
A great voice UX is 10% recognition and 90% the edges — turn-taking, echo, barge-in, graceful fallbacks. We also went deep on Gaussian splatting, agentic function-calling, and real telephony.
What's next
Live listing data, multi-room captures, saved searches, captions on the call transcript, and full screen-reader passes.
Built With
- anthropic
- claude
- elevenlabs
- framer-motion
- gaussian-splatting
- next.js
- particle
- react
- tailwindcss
- three.js
- twilio
- typescript
- vercel
- web-speech-api
Log in or sign up for Devpost to join the conversation.