← All builds

Founder · Production

Invisor

Invisor finds and analyses properties based on an investor’s budget, location and investment strategy.

My work

I develop the product and backend. I used Jev to label 50,000 properties in the database and prepare a feature dataset for CatBoost. I train and evaluate valuation models, compare their predictions with LLMs, and serve photo analysis with DINOv2 and ONNX.

I separate fact extraction from calculation and explanation. I evaluate models on properties and markets excluded from training and compare them with simple methods before assuming that more complexity improves the result.

In production. The architecture is documented on GitHub; the application code is private.

I test valuation estimates against advertised prices. I do not yet have validation against completed property transactions.

Visit the project ↗

How Invisor works

Training and evaluation
I used Jev to label 50,000 properties in the database. I use that dataset to train CatBoost models that compare property features to estimate value. I have tested listing attributes, visual information and area data, comparing predictions with medians and other simple calculations. Evaluations exclude properties and markets from training, check repeated listings and examine both typical and large errors.
Adding features did not consistently improve results. Those comparisons determine which information belongs in the model. Evaluations use advertised prices; valuation research does not establish accuracy against transaction prices.
Vision and inference
I serve a DINOv2-based model with ONNX on CPU to classify photos by room and condition. Photo selection combines relevance with room coverage: a kitchen or bathroom supplies different information from a facade. It filters synthetic images before renovation analysis.
The vision service is separate from the agent. Inference runs off the event loop, and images are processed without retaining every original in memory.
Data, calculation and generation
The LLM helps extract facts from listings and explain results. Valuation is evaluated separately using structured data and numerical models. Keeping those parts separate lets me change the model or explanation without treating a convincing response as a tested estimate.

Architecture on GitHub ↗