■ Vader Hairitai
EmailLinkedInGitHub ■

Dogoo, roommate first, then the apartment

Consumer AI Product · 2026

An apartment search for people moving to New York that starts with the roommate. You find someone you can live with, then the two of you search for the place together.

StatusLive, free public beta
RoleFounder, solo build
StackNext.js · Supabase · Inngest · Claude
Built withClaude Code

Most people moving to New York do not need another search box. They need someone they can live with, and then a place the two of them can afford. Dogoo starts with the roommate and then helps the group find the apartment together. I build it alone, and I am its first user, because I am making the move myself.

People make a roommate card that says how they live, what they can pay, when they move and where they want to be. Matching applies hard rules first and ranks second, and it never looks at who someone is. Hellos are double opt in, so nobody can message you until you both say yes.

Two to four people can then search as one group. They vote on places, contact landlords from the group, and the replies come back into the group chat. The person always presses send.

Listings come from many sites and are cleaned up into one record per apartment, each with its own page that says what the post shows and what to ask. A school or work email adds a verified badge, which is shown to others and never used for ranking.

It is one Next.js app on Vercel, one Supabase Postgres database and one durable workflow engine, Inngest. Work is split into narrow steps that each do one job and never call each other. The engine hands out the work, retries it when it fails and keeps a record of every hand off.

Fixed rules do the first pass on every listing, and a small fast model only fills in what the rules could not. The strongest model is kept for text a person will read closely. Every model call is logged with its cost, so spend is visible per person and per channel.

WHAT PEOPLE USERoommate cards · matches and chats · group search · a page for every listingORCHESTRATION · INNGESTDurable, event-driven functions · retries · replayscheduled watchers · matching · notifications · health checksWATCHERSRedditCraigslistlisting sitesvia vendorsINGESToffer or search?normalizeone record / unitCHECKbuilding recordsphoto checkfee and scam flagsMATCHhard rules firstthen rankinghabits and budgetPEOPLEboth say yesgroups votereplies relayedSHARED DATA · SUPABASE POSTGRESlistings · buildings · people · groups · model calls with cost · first-party analyticsGUARDRAILSNever match onwho someone isThe person pressessend, every timePhotos read by link,never storedSpend caps insideeach paid stepEvery number froma real rowactions · approvalsdispatch · collectMODEL TIERINGFixed rules first · a small fast model for parsing, classifying and photos · the strongest model only for text people read
Hover any node for detail.
Five layers, and people only see the top one. Steps are small and never call each other. The workflow engine hands out work and collects results, every step reads and writes the same database, and the guardrails sit where work is handed out rather than inside each step.

A listings product is only worth using if people can trust what it shows. Community boards mix real offers with people who are looking for a place, so every post goes through a classifier that decides which way it points, and only offers become listings. A vision check drops pictures that are screenshots or portraits instead of the room.

Every number on a screen comes from a real row, and anything unknown is shown as unknown. Each of these rules has an evaluation suite, and the suite runs before any code that depends on the rule changes.

I make the product and architecture calls and write each one down with its reason, more than sixty so far, in a decisions log that sits next to the code. The code is written with Claude Code as a partner, and a handoff document lets any engineer or agent pick the project up cold. I ship in small steps and read the results on an analytics board I built into the product, so a change is judged by what people did and not by how it felt.

Dogoo is live at dogoo.xyz in a free public beta. It is early, and I would rather show the working product than numbers that are not ready yet.

OPEN DOGOO ↗
■ 2026
Colophon ■