-
-
System architecture
-
Voice input screen
-
Perplexity research in real time based on voice input (text is a lot clearer in the demo vid I swear!!)
-
Output for an illegal finding in Berkeley
-
Artifact for an illegal finding: legal aid contacts
-
Output for a legal finding in Fremont
-
Output for an unclear finding in Hayward
Inspiration
Renters in high-cost cities like Hayward are struggling. Over 70% of California renters face extra charges beyond their base rent, and most have no idea if increases are even legal. We wanted to give tenants a powerful, simple tool to understand their rights and take control of their rent.
What it does
HomeRule is a voice-first AI assistant that tells East Bay renters whether their landlord's actions are legal or illegal, and what to do about it. Just talk about your situation, and the app listens, asking follow-up questions if needed. HomeRule does the rest: determining a verdict (Illegal, Legal, or Unclear), with a plain-English explanation, timeline of your next steps, and various resources (eg. dispute letters, legal aid contacts, and rent board complaint forms pre-filled with your facts). It even compares nearby cities, showing where your rights are stronger. This is designed to help people who have no clue what a "Costa-Hawkins" or "AB 1482" is (which is most renters)!
How we built it
- Frontend: Next.js, React, TypeScript, TailwindCSS
- Backend: Python, FastAPI, uvicorn, httpx
- AI: Perplexity (sonar-pro for legal research + verdict; sonar for conversation processing + artifact generation), ElevenLabs (scribe_v1 for speech-to-text; eleven_turbo_v2_5 for text-to-speech)
- Mapping: MapLibre GL JS, US Census TIGERweb API
We built HomeRule by combining a voice-first interface with real-time legal research. ElevenLabs enables smooth, natural conversations so users can interact with the system effortlessly, while Perplexity AI provides fast, up-to-date information on local tenant laws. Together, they allow us to process user inputs, analyze regulations, and return clear, reliable answers in a simple, conversational way.
More specifically, we used a Next.js frontend to model the idle -> listening -> researching -> verdict pipeline, and a FastAPI backend to connect the user to services like Perplexity and ElevenLabs. With Perplexity, we send the user's conversation to its 'sonar' model, which decides whether to ask another question or declare the facts ready for research. Once facts are ready, it calls 'sonar-pro' with a structured legal research prompt. We use sonar again to handle document generation on demand like dispute letters, rent board complaint packages, and situation summaries for legal aid appointments.
Challenges we ran into
- Navigating complex, city-specific tenant laws and interpreting them in real time
- Integrating Perplexity AI for instant legal research
- Creating a voice-based experience that feels natural and intuitive
Curating a prompt for accurate, consistent verdicts was the most challenging (and admittedly frustrating). We had to encode construction date cutoffs, annual cap percentages, and exemption rules for six different East Bay cities: Berkeley (pre-1980), Oakland (pre-1983), Alameda (pre-1995), Hayward (pre-1979), and the advisory-only programs in Fremont and San Leandro. This was even more of a challenge considering our initial scope was the entire Bay Area.
Accomplishments that we're proud of
- Fully functional conversational AI that guides renters step by step
- Real-time legality checks on rent increases
- Regional law comparisons that highlight tenant protections
- A polished, voice-first experience powered by ElevenLabs ready for real users
What we learned
- Real-time AI can make legal information accessible and understandable
- Laws vary widely, even across neighboring cities, making comparisons crucial
- A simple, conversational interface is more powerful than static forms for engagement
What's next for HomeRule
- Expand to more cities and states
- Add document upload for leases and notices
- Support multiple languages for broader accessibility
- Deployment (note: we didn't deploy because we didn't want others using up our credits before the live demo 😅)
Built With
- elevenlabs
- fastapi
- next.js
- perplexity
Log in or sign up for Devpost to join the conversation.