RoomFit
A matching platform that ranks San Francisco rooms by how you actually live, with the reason for every score.

- Year
- 2026
- Role
- Founder - product and full-stack build
The Problem
When I moved to San Francisco, I had no network and no rental history. I tried Craigslist and nearly got scammed. Facebook groups were the best option left, and every listing in them was a stranger I had to guess about.
Later, as the one listing a room, it took four to five weeks to find someone - in a city where an empty room means paying two rents.
Every listing tells you the rent and the neighborhood. Almost none tell you what actually decides whether you'll be happy there: whether you'd live well with the people already in the house. And the sites that claim to match hand back an opaque percentage, with no way to tell whether 85% means the rent fits or the lifestyle does.
What I'm Building
RoomFit ranks rooms by how you actually live. You set your budget, area, tidiness, how social you want the home to be, and your sleep schedule. Three hard filters drop the dealbreakers - too far over budget, pets, smoking - and the app tells you how many it ruled out and why, rather than silently shrinking the list.
Every remaining room is scored across five factors, 20 points each, and every score opens into a receipt: where each point came from, with a plain-language reason. When a room ranks second instead of first, you should see why in one glance.
It works for both sides. Hosts post rooms with photos; seekers save rooms and message the person rather than a listing, and anyone who messages a room has already been scored against it. It's mobile-first, built to be used on a phone while you're actually flat-hunting.


Key Decisions
No AI in the ranking. The scoring is deliberately boring - bounded, capped, and rule-based - so the same input always produces the same result, and every score can be explained. If language models come in, it will be to write explanations on top of the score, never inside it.
The backend never touches the database. The stack is React and Vite, a FastAPI ranking service, and Supabase. The frontend holds the Supabase session and posts preferences and rooms to a stateless /rank endpoint, which scores and explains but holds no credentials and stores no user data. Row Level Security does the protecting: everyone can read listings, but only ever write their own.
A dependency list that hasn't grown since week one: three packages on the frontend, three on the backend. Photo resizing, the swipeable gallery, avatars, and messaging are all built on stock browser APIs. Fewer moving parts to break, and nothing to keep patched.
It's the same conviction as my Matching Engine, arrived at from the other direction. There, a model is allowed in but hard-capped; here, it's kept out of the ranking entirely. The two share concepts, not code.
Where It Is Now
RoomFit is in beta in San Francisco, opening neighborhood by neighborhood, with a waitlist deciding which areas go first. I'm building it with co-founder Vincent L.
Three real testers have used it so far, and the first round of their feedback has shipped.