Inspiration

For most of us, owning our own home has always been a quiet dream — the feeling of arriving, of belonging, of having a place that is truly ours. A home that welcomes us, holds our memories, and gives us room to grow.
Still, the dream of owning such a home often feels far away. Prices rise, savings lag behind, and even once we start working, the thought of having a home of our own can seem uncertain.
CasaNova was created to counter that feeling — to offer a clearer sense of what the path toward your own four walls might look like. Not as an overwhelming dream, but as a realistic possibility you can start exploring today.

What it does

CasaNova is a mobile-first web app. It starts very simply: you open the app and take a live picture of the dream house you’ve spotted. Using the photo and your GPS position, CasaNova estimates the buying price, rent, living area, and more.
From there, it gets interesting. Based on this information, CasaNova helps you sketch the path toward your future home. We ask for a few additional details — your study program, your expected graduation year, your age. You can then play around with variables like your monthly saving rate and instantly see how many years it might take until you will move in a house such as the one in front of you.
CasaNova visualizes your predicted wealth development and highlights the break-even point where owning becomes financially smarter than renting. And as a small extra: it shows a map of Germany indicating where your goal might be reachable even earlier.
The overall message is simple: yes, you can afford your own home — just as your parents and grandparents once did.

How we built it

CasaNova consists of a React.js frontend built with Vite. The backend is a Python-based Uvicorn REST API that also manages our estimation neural network. The entire project is containerized via Docker and fully integrated into a GitHub Actions CI pipeline for automatic deployment on our server.
The core feature of CasaNova is the neural network that is trained on house price prediciton based on a picture and the users coordinates. To train that model with reasonable data we used the API provided by interhyp (see https://thinkimmo-api.mgraetz.de/doc/thinkimmo.html). We focused on type "HOUSEBUY" and fetched over 5000 buildings including the provided images and meta data. Trying a couple of configurations and training strategies we came up with a model looking as follows:

Model Flow

Input Image (224×224×3)  →  ResNet18  →  [512-dim features]
                                                      ↓
ZIP Code (int)  →  Embedding  →  MLP  →  [32-dim features]  →  Concatenate  →  [544-dim]
                                                      ↓
                                              Fusion MLP  →  [128-dim]
                                                      ↓
                                    ┌─────────────────┼─────────────┬───────────────┐
                                    ↓                 ↓             ↓               ↓
                              Price Head          Rent Head      Rooms Head   Area Head
                                    ↓                 ↓             ↓               ↓
                              Buying Price        Rent Price     # Rooms     Square Meters

All images are cropped and resized to a 224x224px resolution. The coordinates received by the smartphone browsers GPS are sent to an API of https://www.geoapify.com in order to convert them to a German ZIP Code that is then feed into the neural network. Location of your house matters.

Challenges we ran into

Training the model to deliver reliable predictions turned out to be one of our biggest challenges. The images provided by the platform APIs were extremely heterogeneous — ranging from indoor shots to floor plans — and often looked far more polished than photos someone would take while standing in front of a house in real life. Handling this variety, normalizing both input data and output values, and finding a meaningful loss calculation required substantial experimentation and fine-tuning. Another challenge was creating a consistent frontend experience across different smartphones and browsers. Layout differences, rendering quirks, and especially the varying behaviors around location-permission prompts made cross-platform reliability more difficult than expected. In some browsers, the website even behaved differently altogether.

Accomplishments that we're proud of

First, our idea itself: starting the user journey exactly where the dream begins. Right in front of the house that sparks imagination — and showing users a clear, achievable path toward owning a home just like it. Second, we successfully trained a neural network from scratch, entirely outside of academia or lecture settings, tailored to a highly specific real-world use case. We applied what we’ve learned, experimented boldly, and grew our understanding of machine learning through hands-on exploration.
Third, we built a user interface that is clean, simple, and sharply focused on the key moments of the user journey — guiding users with clarity rather than overwhelming them.

What we learned

  • ⁠How to collaborate effectively as a team of four software developers under extreme time pressure, without the luxury of detailed planning — and still keep the project moving forward smoothly.
  • The challenges that come with training a prediction-focused neural network. It definitely doesn’t work out of the box. We learned to stay creative, explore alternative strategies, and adapt our approach again and again.

What's next for CasaNova

There are countless comparison platforms out there — especially when it comes to buying a house. But capturing the world through your own camera lens could open an entirely new way of finding the perfect home.
Imagine taking a picture of a house you love and instantly discovering real listings that match its style, its size, its price range — homes you could move into right away.

Share this project:

Updates

Submission history