Specifying expense levels
Discovering the area - statistics & facilities
Property details with expenses breakdown
Finder calculates transit fees and determines whether bills are included in rent
Area is marked Safe or Unsafe depending on the number of accidents
Click More for other recommendations
When I tried to search for property in London I immediately was met with a UX problem. All the websites online assume that you have an idea of which area(s) of town you would like to live in. However, being an international person I have had no idea of where I should stay. However, I had a pretty clear idea of where I will be commuting to every day. Therefore, I created Finder - property search aggregator that will look for property based on the place you will be commuting to every day. This is a major change that allows a person who doesn't know much about the city or are to get to searching a place to stay pretty much straight away
What it does
Finder looks for property based on your place of commute (university, workplace etc.) and intelligently calculates the monthly expenses value. The latter includes rent, bills, transit fees and any other additional expenses. Therefore, you will be able to compare the properties at a glance and will avoid manual computations when, for example, comparing bills-included properties with non-bills-included one. As commute-oriented search, Finder also shows how long it will take to commute for you every day. As a result, you are able to balance cheaper rent with longer commute times easily. Finally, Finder presents the information on the property and neighbourhood in straightforward graphical way (with the help of a map and images) and delivers smooth user experience throughout the whole search.
How I built it
The scale of the project is quite big, so I was working off an assumption that property search is done within London area.
Finder can work with multiple property data providers, but is currently using Zoopla API to fetch the list of properties. It then works out the nearest transit point (Tube, Underground, Overground or DLR station etc.) and determines how much you would spend on the transport every month (e.g., via monthly Oyster) via TFL data. It also calculates typical commute time with the help of Google Maps Directions API. If the user likes a property and chooses to Discover the area, Finder uses CDL data to work out how safe the area is (based on number of accidents happening around the property) and what is the average age of people in the neighbourhood. Finder also enhances the data by showing various commerce/local businesses around the property and place of commute with the help of Yelp API. This helps the user get idea of what kind of area they will potentially moving into and find out any local businesses (like restaurants, bars etc.) to visit once they move.
Challenges I ran into
I had to learn the API for each service in a short time and use it efficiently whilst working around the rate/quota limits. This was a huge challenge that was relevant throughout the whole weekend. CDL data posed a challenge as well, as ElasticSearch is quite difficult to get into - especially as it drifts away from strict SQL concepts into the realm 'should conditions'. I was also trying to register a domain with a domain.com for the project - the system didn't work for me. My most recent challenge, which is literally what I am battling with now, is deploying the app on Azure Cloud.
Accomplishments that I'm proud of
I am really proud of putting making the application that is able to intelligently combine the data that is already out there on the web in order to create a simple and intuitive interface. Despite the fact that the application looks quite simplistic to an average user, it is pulling off a lot of work in the background and combines the data from 6 datasources! (London stations data, TFL fares data, CDL data, Zoopla API, Google Maps directions API, Yelp API).
What I learned
I learnt more about APIs and process of development for applications that heavily rely on maps and directions. I also got acquainted and learnt more about ELK stack and managed to write a couple of queries on my own despite hugely uninformative and unhelpful error messages ElasticSearch gives you :D
What's next for Finder
Extending the set of property providers, slowly adding support for more areas (currently only London area is supported) and transit options (e.g., biking). Finder strives to become a SkyScanner of the property market - a website that aggregates the data from all the different providers, enhances it and provides an intuitive way to navigate through it.
The demo link for Azure Cloud is available - please don't spam it, as I might run out of request limit/quota. Use Google Chrome if you can, as I cannot guarantee that it will work in all browsers! You are more than welcome to come to Table #39 for live demo off my laptop as well.