Domi
Hunts for apartments in Mexico City, measures the area and distrusts what looks off
Problem
Every time I hunted for an apartment, I ended up with a Google Sheet ranked by gut feeling.
Listings are scattered across several sites, and what mattered most wasn’t in them: the area’s crime rate, how nice it is, or whether it works with a pet. Domi is my second try, after a CLI from February 2026: it gathers the listings, measures each area with open data and ranks them with the weights you choose.
How it works
- Listing siteslistings
- Crawlernormalize · dedupe
- Agentsjudgment · area · review
- Your deckranked by your weights
- 01A daily crawler collects listings, honoring robots.txt and one request every 2 to 4 seconds per site.
- 02A geo service measures each area with FGJ crime data and DENUE, and the agents flag signals worth checking.
- 03The ranking is a dot product between your weights and each listing’s scores.
Decisions
Tested code does the ranking.
Crawler, deduplication, area indicators, distances and ranking are deterministic, tested code. No model is called per listing to rank.
Domi never says “fraud”.
Domi shows “signals worth checking” with their evidence. Deciding whether to trust is up to you.
If a source blocks, it gets switched off.
No paid proxies, no CAPTCHA tricks. Mexico City’s open data portal blocks US IPs, so the area job runs in the Querétaro region and uses direct downloads.
Result
The backend and web app are deployed on Cloud Run, and the crawler runs every day at 5:00.