zoomBot — Our Journey on Creating a Chat Bot for Real Estate
If you are into the startup scene or have seen one of those startup shows on television like „2 Minuten 2 Millionen“ on Austrian Puls4, „Die Höhle der Löwen” on VOX in Germany or ABC’s „Shark Tank“ in the US you probably know what a startup pitch is. The company I work for searches for available real estate ads on the web and collects them like Google collects websites. The company is called zoomsquare, also known as “the Google for real estate” and its pitch has always started with the following sentence:

„Wouldn’t it be great if you could just tell your best friend how you really would like to live. And then, this friend goes on and searches through all the available websites on the internet for the best properties for your personal needs, and sends the best ones directly to your mobile phone.“
Searching for a new home can be hard and cost a lot of time. You’ve to check several websites on a daily basis for offers you may like and you still might miss the best one because others were faster than you. So in 2013 we started to build a website which is now at its third version and is available on desktop, smartphone and tablet. The idea was to make home searching fast, easy and fun. In 2014 we also built an app to be representative in Android and iOS app stores. Both, the website and the app, have different interfaces and approaches for searching your next flat or house.

On the website you start by typing in where you want to live. You are then presented the first results which constitute of all available ads on the real estate market. This is great to get an overview of the market and to see what is a realistic price performance ratio. You can then use some inputs and sliders to create a more detailed search profile. The UI also makes use of a map, which allows you to define more precisely where you want to live, as well as providing you with a better overview of where the properties zoomsquare found for you are located.

The app instead starts with a basic profile and tries to find the best results for you by assuming what you need. You swipe in tinder style through the results. During that the app asks you questions to get to know you and your needs better which brings you results which fit your needs.



Both approaches bring you a good overview of the market and you don’t have to search on every platform but it’s still not as easy as just talking to a friend.
zoomBot was born
As you might have guessed in the past two months we’ve been working on our very own chat bot, called zoomBot, which acts like your very best friend in helping you finding your new home.
After attending a ViennaBots Meetup (#botsbotsbots) berni.schaffer and Alexis de Varennes started to experiment with this technology and got a better understanding of UX and the personality of a bot.
The zoomBot is now available on Facebook Messenger. Head over to your messenger app and tell him all your needs and wishes. He will bring you the best results right away to your phone. You can also set an alarm and zoomBot sends you results daily. It is available in Austria and Germany in German and English.

The technology behind zoomBot
The zoomBot is written by Alexis de Varennes entirely in Python (2.7) and uses Tornado as a web framework, ZeroMQ as a message broker and Celery as the task queue.
During development we tried different alternatives, such as wit.ai, but found that it did not meet our quality or precision requirements, in addition, as with most NLP APIs, it was too slow and lacking in features. The solution was to code a proprietary POS-Tagger that also makes use of Redis and CLiPS Pattern.
During the first months, the service relies fully on POS Tagging, all input however is annotated and used to train an ANN model in the background. These annotations are also used to improve our extraction services.

3 design principles
During the implementation we had to come over some pitfalls and did a lot of experiments to improve the CUI which lead to these 3 findings:
#1 — Be a Friend
At zoomsquare we’ve always had the desire to be the very best friend of our users and be as helpful as we can. Just tell us like your best friend what you are looking for and zoomsquare will get it for you, kind of like Siri for property search.
With our website and app we were not able to give the user that exact experience because firstly we do not have the voice technology stack apple would use and if you ask a user to type sentences on websites in order to get results he or she would most likely ask you if you have never heard of UX principles. In other words, on a property search website the user expects to type in a location and select certain characteristics of the new home. Nothing more, nothing less.
As we did some research on our Facebook page we realized, that on Facebook people are expecting to communicate in long sentences and are actually telling you more about themselves. They do not know me or other staff at zoomsquare however they communicate with us like they would communicate with a buddy. And that’s where the zoomBot will get into place (insert Heureka joke here)

The zoomBot behaves like your best buddy, it will listen to your needs first. You can write him why you need the place to have 3 rooms (because your crazy parents-in-law will visit on a regular basis), that you would like a balcony (because your need for a cigarette is increasing exponentially with the parents-in-law visiting) and that you definitely need a bathtub because in your heart you are a pirate with a big ship.
zoomBot will understand you and, like your best buddy will not judge you. It will listen to you first and will ask questions if something is not 100% understood by him.
#2 Utilize Emojis
This one is closely connected to #1. Take a look into your conversation with your friends. How often do you use Emojis? ………. Let me have an educated guess: A LOT. In zoomBot we use them also, so you have the feeling that zoomBot is understanding you and that your conversation is not boring.
There is also a second reason why we use them. To get structure into the messages and to “prime” the user to certain emojis. So he does not need to read the whole text but sees the emoji and understands what it means. Take a look at the evolution of our welcome message.

V1 — only text
Can you tell me within one second what the bot wants from you? That’s right, you can’t. (English Screenshots! As well!). The text is not structured and the important questions are not highlighted. Furthermore it lacks of enthusiasm (no Emojis)
V2 — Enthusiasm added, text structured
Different version, same game — can you tell me within one second what the bot wants from you? Now, although it’s not perfect, you can grasp the content better, because firstly it’s structured (bullet points) and as a human being you will most likely look at the bullet points first.
Furthermore the use of the two emojis suddenly lightens up the message a little bit. We got the overwhelming feedback that it gives you the impression that the bot is actually happy to help you, so we kept that.
V3 — “Priming”
We got rid of the bullet points and implemented the Location, Size a.s.o Emojis not only for fun but with the following idea: We’d like the user to interact with zoomBot as fast as possible, so that we can provide him with the fastest and most accurate results in the industry. Why would you want to read through the messages if you can “prime” the user with emojis and you will only need to show him or her the emojis and it would be understood.
So whenever we talk about location the pin will be shown and after a short time the gets used to it and recognizes the location section because of the pin emoji. Same applies to the ruler for size, or the money emojis for money (which brings me to the idea of a chat bot that you can control only with emojis, but that’s another story) — I hope you get the point here.
#3 Minimize Effort
While we encourage our users to write us their whole home hunting story at the beginning (to get the most valuable data we need) we want the time spent to answer any occurring questions to be minimized.
So if we e.g. ask for your maximum budget you would need to type in € followed by about 3–4 figures — that’s about 5 “taps” on the screen and that costs time. So why shouldn’t we provide you with standard answers that you can use with only one tap.

When to you use a bot or not?
You might now be enthusiastic and want to start your own bot for your business but let’s think about all this for a minute and clarify if a bot is the right option:
Weather
When it comes to new technologies weather forecast is always one of the first. There also bots available like Poncho, which tells you the current weather in your location. But Google does the same thing, by simply typing in „weather“ or „weather Vienna“. A bot has no advantages here.
News
CNNs bot sends you trending news articles which is just another method of sending push messages. A simple search in Google brings the same result with the advantage that you can define what you want to know.
Shopping
Also browsing for clothes on a website or googling it is much easier than tapping through the interface of some clothing companies chat bots.
Real Estate
When it comes to real estate it is not as simple as typing in two keywords like „weather Vienna“. There are a lot of values to consider like location, budget, size, rooms and wishes like having a balcony, a nearby underground station next to it as well as a kindergarten. On our website’s or app’s interface you have to use at least five different form fields to tell us what you’re looking for. But within our bot interface it’s just some words and you’re right there.
Go and try it out yourself!
(available for Austria/Germany)

zoomBots Future
We’re currently testing the bot on Messenger but will implement it for others too such as WhatsApp or Telegram.
We’re also testing some other use cases and improving it constantly.

If you have any questions about zoomsquare’s zoomBot or want to give feedback don’t hesitate to contact the developers:
- berni.schaffer /@bernischaffer (concept, UX)
- Alexis de Varennes / @svenvarennes (development)
Thanks to Thomas & Bibi for your help on this article! :)