Apartment Finder
2022
My first project, and the one that got me my apartment. It ran on a Raspberry Pi home server around the clock, watching the student housing listings and alerting me the moment a new one appeared.
- Selenium
- Web scraping
- Automation
- Raspberry Pi
- Linux
- HTML
The problem
Finding somewhere to live in Gothenburg is hard as a student who has not been queuing for points. A student apartment takes at least two years of accumulated points to secure, and I had nowhere near that many.
What is left is the small number of flats that go out to whoever gets there first. Those are gone in minutes, so the only way to compete was to be watching the page at the moment one appeared. That is what made me write this program.
Plan and execution
I started by reading the source of the Gothenburg listings page to work out what actually changes when a new apartment goes up. Each listing is its own div, so a new apartment means a new element in the list.
From there the logic is simple: load the page, collect the listings, compare them against the set I saw last time, and alert on anything that was not there before. Selenium drives the page so the listings that are rendered client side are present by the time I read them.
The whole thing then went onto a Raspberry Pi so it could keep checking throughout the entire day and alert me when a new apartment listing comes up.
What I learned
This was my first project that was genuinely useful to me. Instead of constantly refreshing the listings page myself, I automated the tedious part, and I got an apartment out of it.
It taught me that wanting something badly enough pushes you to solve it a different way than everyone else queuing for it.
It was the start of how I think about automation now, and my first real experience of building something for a specific use case rather than as an exercise.
Along the way I taught myself Linux, self hosting, and keeping a job running unattended.
