Finding our next home
Kits Rental Finder
Every 2–3 bedroom rental in Kitsilano, Fairview and Mount Pleasant on one page, with a model that learns which ones we'd actually like.
The problem it solves
Seven sites, one list
Listings are scattered, and the same unit is often posted on several sites. The finder collects them all and merges the copies.
Sites it can't read, like Apartments.com and Facebook Marketplace, can still be added by hand with + Track a listing.
The page
List and map, side by side
- Filter by bedrooms, rent, parking, commute time and neighbourhood
- Map pins coloured by parking, with SkyTrain and B-Line layers
- Works on any device on the home network, and as a Home Assistant tab
Every listing
The answers that matter, up front
Real commute times
Door-to-door transit to UBC and Downtown from TransLink's timetables: walk to the stop, the route, and at most one transfer.
Parking, decoded
Included, street only, none or not stated, with the ad's exact wording on hover.
What's changed
NEW since your last visit, price changes tracked, removed listings marked, and links to every site posting it.
Built for two
Separate opinions, shared picks
Each of us has our own favourites, hides and recommendations, tied to our Home Assistant logins. Notes are shared.
A listing your own model rates highly: in your top 5% and more likely than not to suit you.
Likely to suit both of us. A favourite counts as a yes, and a hide from either of us rules it out.
Shown when we agree. Anything we both favourite or both hide counts double when the models learn.
The recommender
It learns from what you ★ and hide
What it looks at
- Facts: rent, bedrooms, bathrooms, size
- Commute: minutes to UBC and Downtown
- Details: parking, area, laundry, pets, furnished
- Wording: up to 400 common words from the ads
- Photos: how dated the rooms look
One model each
- A simple model that works from a few dozen examples
- Listings you haven't marked count as a faint "probably not"
- Retrains weekly, only if your choices changed
What you see
- A chance you'd like each listing
- ♥ Recommended for the best few
- Reasons on hover, like "shorter UBC commute"
- A Best match sort
Because the model is simple, its weights explain each pick.
It reads the photos
Dated kitchens never make the cut
A vision model running on the Mac sorts up to 12 photos per listing by room, then judges whether the kitchen, bathroom and other rooms look dated or renovated.
- A listing with no photos, or a clearly dated kitchen, is never recommended
- No photo is sent to an outside service
Checked against our choices
The rule matches 12 of the 57 listings we hid, and none of our 30 favourites.
Effect on the picks
Before photos, 4 of 23 recommendations had a dated kitchen. After, none did.
Is it any good?
Better with every choice we make
Each training is tested on marked listings it hasn't seen. At 0.79, it ranks a listing we liked above one we hid about 4 times in 5.
With this few examples, the score moves around. The more listings we mark, the steadier and better it gets.
Test score after each training
0.5 is a coin flip, 1.0 is perfect
Show as a table
| Training | Favourites | Hidden | Test score |
|---|
Quiet and private
It runs itself, at home
- Collects new listings every 3 days, in about 10 minutes
- Recommendations update after every collection
- Everything runs on the Mac mini; the page is only on our home network
- To use it: ★ what you like, Hide what you don't, and try the Recommended filter