Skip to content
Yoshio NomuraContact

All work · Services and data

Roomie

Roommate and apartment matching

  • Contributor, team of 4
  • April 2026
  • GDGoC National Hackathon 2026 (Hanoi) — team Hackaphobia

What it is

A student roommate and apartment matcher built at the GDGoC National Hackathon 2026 in Hanoi with team Hackaphobia. An onboarding survey and swipe interface match on structured fields — location, budget — with an optional free-text bio path using Vertex AI embeddings and cosine similarity.

Evaluation

Users onboarded
~50
real users who onboarded and swiped at demo day
Average request latency
~12 ms
structured matching path only — excludes embedding generation

How it works

Asynchronous FastAPI service with a stateful in-memory WebSocket layer and structured matching

A FastAPI service on Google Cloud Run, with Cloud Firestore as the primary database. Chat runs over WebSockets: an in-memory connection manager (chat_manager.py) maps each user to their active sockets, so a user signed in on several tabs receives each message on all of them. Messages persist to Firestore. Matching (vector_logic.py, matching.py) encodes the structured survey answers, including district and budget, into a numeric vector and scores candidates against it by cosine similarity; an optional free-text bio path uses Vertex AI text-embedding-004 embeddings. An MCP-plus-n8n agentic pipeline was designed and then rejected as over-scoped for a four-person team with no operational runway.