Kotmap Apr 22, 2015

projects  php  javascript 


Kotmap.be was a project I created while studying at Ghent College University. I was looking for a new room to live in, but I wasn’t having a lot of success finding one. There were many websites available that allowed me to search for rooms, but almost all of them seemed to miss a simple map with all available rooms. You see to me one of the most important factors in choosing a room is its location. After spending a couple of hours copying every address into Google maps I got sick of it, and as a programmer I had the required skills to fix the problem. A couple of hours later kotmap.be was born.

How it worked

Retrieving – Scraper

The scraper had a list of websites it would parse, for every website it would go through the entire list of rooms and add every individual link to a queue. Once the websites list was parsed, the scraper parsed every link it saved in queue and added the information to a temporary database. Ready for the next step.

Processing – Parser

Data received from scraper was still in an unsafe state, it may have contained invalid addresses or double data. To fix this problem I ran every address into the Google Maps reverse API, this gave me a more accurate address and GPS coordinates. With this information I started removing and/or sometimes merging room information.

User interface – Map display and filtering

The website provided public access to the database with all rooms. I split up Belgium according to the major student cities and showed only a map on the website. I though about showing all the information I got from the other website’s, but that wasn’t my goal. My goal was to give me a proper view of all the available rooms in Ghent, instead of showing everything myself. I just linked back to the website where I got the information from. This way providing them with traffic, which I hoped would stop them from complaining about my parser.

Why I took it offline

Maintenance, It’s as simple as that. I saw the website as a side project and after I had found my room I kept it online for a couple of months. But failed parsing, server errors, double rooms and user support, ment that I had to spent at least an hour a week just keeping the website live. Adding features was a whole other story. (As you may imagine, hacked together in a couple of days, the code was not brilliant)

The last drop for me was when I found a clone online. It was pretty much the same design (same icons), but a nicer UI and more rooms. At first I was a bit annoyed, but I soon came to the conclusion that the website was only costing me time, money and I had serieus doubts about it growth potential. I though about adding ads, but that just wasn’t my thing. I made it to help myself find a room, and it did just that.


You can find a demo with random data here.


I will soon add the source on Github, I need to check for sensitive information first. The project was written in PHP with support from Yii Framework 1.*. Clientside I used basic JQuery and the Google Maps API.