🏠 Room Finder

🎯 Tagline

Natural language room search meets AI-powered semantic matching. Find your next home by describing what you want, not typing filters.


πŸ’‘ Inspiration

Finding a room shouldn't require mastering filter menus and apartment-hunt jargon. Most room-finder platforms force users into rigid search criteria (1-2 bedrooms, $1500-$2000, near downtown), but real people describe what they want naturally:

"I need a quiet 2BR with good light, walkable to the metro, and a kitchen big enough for two people"

We built Room Finder MVP to bridge that gap: turn natural language into intelligent, semantically-aware search results.


πŸŽ₯ What It Does

Search Like You Talk

Type in natural language (e.g., "bright studio near downtown with laundry in unit") and our NLP parser extracts structured criteria. Behind the scenes, Backboard.io RAG understands intent and reorders results by semantic relevance.

Frictionless Viewing Requests

Found a room you love? Click "Request Viewing" to instantly start a messaging thread with the owner. No auto-calendar complexityβ€”just you and the owner negotiating times via in-app chat.

Smart Result Ranking

Results are ranked by:

  1. Structured criteria match (location, bedrooms, price)
  2. Keyword overlap (textual relevance)
  3. RAG suggestions (semantic understanding of user intent)

Real-time Sync

Listings auto-sync from external sources and are immediately indexed in the RAG system for fresh results.


πŸš€ Key Features

✨ Core

  • NLP-powered search: Parse "2BR near downtown under $2500" into structured filters
  • RAG semantic reordering: Backboard.io understands intent and boosts relevant listings
  • In-app messaging: Real-time communication with room owners
  • Viewing timeline: Track viewing requests from proposal β†’ confirmation

πŸ”„ Behind the Scenes

  • Auto-sync: Listings refresh automatically (configurable intervals)
  • Interaction tracking: User views, bookmarks, and rejections feed back into recommendations
  • Status machine: Viewing requests move through states (requested β†’ time_proposed β†’ confirmed)
  • Event logs: Full audit trail of all actions for debugging

🎯 Accomplishments

βœ… Full NLP integration β€” Backboard.io parser for natural language queries
βœ… RAG pipeline β€” Document upload, indexing, and reordering based on semantic matching
βœ… Production-ready validation β€” Zod schemas on all routes
βœ… Scalable architecture β€” Service layer + event-driven design
βœ… User interaction tracking β€” Foundations for recommendations
βœ… Messaging + timeline β€” Unified view of viewing requests and communications


πŸ“š What We Learned

  • RAG is powerful: Semantic search catches intent that purely keyword-based systems miss
  • Schema validation matters: Zod caught API contract errors early
  • Service layers scale: Separating business logic from routes made testing & iteration fast
  • Messaging is underrated: Simple chat is often better UX than complex automation
  • In-memory state is dangerous: For production, move events, messages, viewingRequests to a database
  • Events are audit gold: Recording every state change makes debugging 10x easier

πŸƒ How to Run

Backend

cd server
npm install
BACKBOARD_API_KEY=your-key BACKBOARD_RAG_ASSISTANT_ID=your-id npm start

Frontend

cd client
npm install
npm run dev

Then open http://localhost:5173 in your browser and search!

Built With

Share this project:

Updates