We live in Estonia and we were looking for a house in the south of Europe. We started our search about three years ago. We wanted something we could rent out in the summer and live in during the winter, and we started with Italy because we love Italy, Campania mostly, the Amalfi coast, around there.
The problem was not that houses were not available on the existing portals. The problem was that it is impossible to find the unique gems on these legacy websites. It honestly feels like these websites were taken from the old classifieds in newspapers and just transposed to a website. So it was truly looking for a needle in a haystack to find houses that we really liked. We were literally scrolling through hundreds if not thousands of listings, quickly swiping through photos and reading the description. My engineering mindset could not stop thinking about how automatable this process is, especially in the age of AI.
We did this for months. Then we decided to pay somebody.
We googled stories of international buyers and foreigners buying their dream house in Italy, and we quickly found a group of buyer’s agents that had absolutely stellar reviews. Users had nothing bad to say about them. We had a first call with them, they felt professional, and we felt like we had found the solution to our problem. We gave our brief on that call, then I wrote it again in an email so there would be no confusion. We said no to Sicily, it is beautiful but it is an island and the logistics did not work for us. We gave a budget range, we said no to a few interior styles.
Then they sent us a listing in Sicily, a place we had explicitly excluded from our search. Our first reaction was, why? Why would they send a listing in Sicily, are there not any other better options in Italy? We truly felt like maybe we were looking for something that did not exist, but something did not feel right here. There are about 700,000 to a million listings live in Italy today. There must be something that we wanted.
It felt like our buyer’s agent was simply browsing the same websites as we were and sending us the links. In fact they were sending us verbatim the links of the real estate portals we had been browsing ourselves. When their findings were not completely outside of the brief, these were just listings that we were finding ourselves after five or ten minutes of research. But our goal was to find the true gem. We were ourselves looking at hundreds and thousands of listings. That was, to be honest, the job we were hoping the buyer’s agent would do.
It was not cheap. We asked for the money back and we got it.
Here is what stayed with me. If even they, with their solid reputation, were doing what felt like an underwhelming job, that was a good enough answer for us. If the best in the field are not doing a job that we think is good enough, then we definitely could improve that. And as an engineer, I wanted to improve it through technology.
We changed our minds about Italy anyway. France was easier for me and closer to family, we spent time in the Var, then in the Alpes-Maritimes, and we fell in love with the Riviera. We eventually settled on an apartment in the south of France and we signed at the notary in June of this year. That is another post.
From building developer tools to looking to buy a house
I wrote the first scraper in Python, because it is one of my favorite languages and it actually works very well for scraping using BeautifulSoup. It felt quite natural, and in hindsight it was the right choice. Now that we are training our own models, it is very natural to use Python for these kinds of machine learning workloads.
We quickly realized that to have a true index we had to get results from literally hundreds of websites. This is how we could build a superior product. Many of the highest traffic, most popular portals in Europe charge high fees for sellers and real estate agents to list on them, which naturally creates a barrier for individual sellers or agents who may not want to allocate budget to advertise on these expensive portals. But if we can get results from the smaller websites, directly from agencies’ websites, from regional websites, then we truly have a way to cover the entirety of the market and increase our chances to find the property you will love.
The other hard part was realizing that we had to extract the information ourselves, from the listing description as well as the listing photos. The existing portals are not categorizing listings properly. They might categorize obvious fields such as the number of bedrooms, or whether the house has a sea view, but they will never categorize the styles of interior design, or whether you can see palm trees from your balcony.
On One Place you can just describe the home you are looking for, like you would to your partner or to your friend. You just type where you are looking, what your budget is, what is important for you and what you like more, and it will find it for you. Visual preferences are something that is extremely important for us humans and that has not been captured by the existing listing portals. Maybe you like wooden floors, tall ceilings, Mediterranean style houses, Nordic interiors, blue bathrooms, or marble kitchen countertops. These are the things that you can search for on One Place. Maybe having a balcony, a gym, air conditioning, or a swimming pool on site are non-negotiables for you. One Place will filter that. We still have room for improvement for complex queries, but that is part of solving hard problems, and I know we will get there.
Here is the query we actually typed, more or less verbatim. Small house or apartment in Cannes, France, or twenty minutes’ drive to Cannes. Ideally with a sea view. Two bedrooms, and with a small garden. The small garden was non-negotiable for us. We have three small dogs and we really wanted a place where they can run and play, and where we can have our own peaceful oasis.
And you might believe it or not, the apartment we ended up buying, we actually found it on One Place. We probably would have skipped it ourselves if we were browsing on portals. The photos were not so good and at first glance did not match much of what we were looking for. However, it did check all our boxes, and this is why we decided to give it a go and visit it.
We started One Place a bit less than a year ago. It is the second time that Anna-Maria and I have founded a company together, we did Beast before, the Tesla rental startup. We have definitely learned how to work together better. We have known each other for seven years, and we definitely share a very unhealthy habit, which is to keep working late in the evening. I do the backend, the ML, the data pipelines, the engine itself. Anna-Maria is honestly the one doing the hardest part, with marketing, outreach automation and front-end development. Today we index 5.1 million active listings, from more than 670 sources, in 20 countries, and we have read 293 million photos.
Why we train our own models
We obviously started with the most popular LLMs. What we quickly realized is that using frontier models was not scalable and was extremely expensive. Our benchmark is that if we were to use models like Sonnet, let alone Opus and Fable, our cost would be way higher than 10,000 euros per day. We are now ingesting such a large amount of data that processing it through frontier models is just impossible. And on the flip side, we tried much smaller open weight models, on the scale of 14B to 32B parameters (e.g. qwen3.6-27b), but these models fail to properly understand some of the edge cases of these fields. And when it comes to understanding what is on the images, this is yet another story. Listings have on average around 20 images each. That means we now have a 20x bigger problem and 20x the cost.
So we train our own. With smaller, fine-tuned models we get to a score closer to the frontier models, at a cost 100 times cheaper than the 14B to 32B ones. It is truly unmatched, but it required time and effort, and a lot of GPUs in the cloud. And then there are pitfalls that are actually quite difficult to fix. Our custom vision model (an EfficientNet CNN) was trained to recognize different features a listing may have, and one of them is finding whether a house has a parking spot. So we trained a model on thousands of images of parking spots in front of houses. This works quite well. Until we realized that running it on apartments whose balcony has a view of a parking lot makes our model think the apartment must have a parking spot, which is obviously not the case. The devil is in the details.
Why I think this is the right kind of hard
There was both a real business opportunity here and a chance to truly help home seekers find properties they loved, and not settle for the first few things an agent might send them and convince them that these are pretty much the only options on the market right now.
I should be honest that this is not your typical SaaS product. This is an uphill battle to build traffic, trust and revenue in a field we were not familiar with before. I am coming from the world of developer tools and that feels very different.
The last time I wrote here I had just sold Paw and I finished that post saying I would bootstrap whatever came next. Indie is the way to go. I still think that, I was just wrong about the size.
I think being an indie hacker is fundamentally about loving technology and wanting to make a living out of it while staying financially independent. I do not think it has ever been about SaaS, or about being able to ship a new project every month. That being said, a lot of people have been doing that in the past and have been extremely successful at it. Trying something new every month has the incredible benefit of letting you try and fail fast. But being successful is also about creating something unique, and today, in the age of agentic coding, anyone can vibe code a SaaS in half a day.
A big differentiator has been marketing, but I still believe a great product will outlive a well-marketed one. Take Tesla. Not that it has anything in common with an indie hacker company, but they notoriously spent zero on marketing. They only had a breathtaking product that made anyone trying it for the first time feel like a child getting a new toy. And it is also an extremely viral product, you see the cars in the street.
As indie hackers, I think we should strive to stay independent, but we should also strive to create meaningful things and bring value to the world. And while AI enables us to do so much more, so much faster today, it also raises the bar tremendously to stay ahead of the competition. You need to tackle harder problems than before.
I will keep writing here while we build. I want to write more about the story of Paw, and I would love to write about some newly learned techniques of agentic coding, building my own software factories, and training custom machine learning models.
Go try it at one-place.com. Describe the place you want in your own words. Then tell me what broke, I want to hear it.
Subscribe and share the word!

