Find apartments ranked by AI photo quality
An experimental tool that collected real estate listings in one place and used a local AI model to rank apartments by how good their photos look — saving hours of manual browsing. The app shows the listings collected so far.
How the pipeline works
Four automated stages from crawl to ranked results, running locally with no external API dependencies.
Crawl listings
Download photos
AI renovation rating
Browse & filter
Built with open-source tools
Everything runs locally — no paid APIs, no cloud dependencies.
Ollama
Locally-hosted LLM runner. The project uses a vision model to evaluate apartment photo quality and return a numeric score without sending data to the cloud.
Learn more →Laraue.Crawling
The in-house C# crawler library powering the data collection. Supports static HTML and JavaScript-rendered pages via PuppeteerSharp.
View project →ASP.NET Core + PostgreSQL
Backend API written in C# with ASP.NET Core. Listing data and AI scores are persisted in PostgreSQL, served to the web frontend.
Read the article →A detailed technical read, months of building
The article covers the crawler, the vision model integration and the ranking formula in detail.
The crawler library is public
The Laraue.Crawling library used to build this project is open-source on GitHub — reusable for any web scraping project in .NET.
Laraue.Crawling
A highly customizable C# crawler library with support for static HTML (AngleSharp) and JavaScript-rendered pages (PuppeteerSharp). Schema-based extraction and a base class for scheduled crawler jobs.
View on GitHubFrequently Asked Questions
It's an experiment — a personal project built to explore AI-powered apartment search. It works and you can browse the collected listings, but expect rough edges rather than a polished product.
Saint Petersburg, Russia, with listings from Cian and Avito. No new listings are collected now, so the app shows a snapshot.
All the photos of a listing are merged into one collage, and a local Ollama vision model rates the renovation of the whole flat from 0 to 10. Separately, an ideality score combines that rating with the floor and the distance to the metro.
No. Crawling, storage, and AI scoring all run locally — there are no paid APIs or cloud dependencies involved.
Browse AI-ranked apartments
Browse the snapshot of Saint Petersburg listings collected so far, sorted by AI photo quality. A prototype — but a working one.