Saturday, October 4, 2014

How I developed SMS-like hookup app on WhatsApp

Recently, I have been working with Omar and Kweku on a new social app called Beep. It's a hookup app that allows you to hook up with your friend's friends. You can read more about the app here: http://getonbeep.com/

Users sign up for the service using their phone numbers. We wanted to find a way to authenticate users without incurring SMS costs. From experience with developing Saya, SMS authentication cost increases fast as you get more users.

Our attempt at solving the issue was to get a short code that users can text a code to to authenticate their numbers. In case that we can shift the cost to the user even though that will obviously affect our conversion rate.

So last week, I had a discussion with Omar. What if we can send the code to users through WhatsApp? Or How about users can send us the code through WhatsApp? Considering 90% of our target market (mainly college students) are already using WhatsApp, that wasn't a bad idea. We cut our costs and users don't have to pay for SMS.

Luckily there's WhatsApp api library called Yowsup. To test the concept I decided to build a SMS-like hookup service on WhatsApp. I called the service WhookApp.

This is how it works:

To create profile, user sends:

JOIN, name, gender, age, location

The user get's a reply through WhatsApp:
You have successfully created your profile on WhookApp

Behind the scene, the service gets the user's phone from the WhatsApp message (as sender). Then registers the user to the system.

To find hookups, send

FIND, gender, age range (optional), location(optional)

You will receive a WhatsApp message like below. It shows the total number of hookups found and the first hookup

Found : 10

Name: Lolo
Age: 25
Loction: East Legon
Phone: +233241111111
Message: I'm a happy go lucky girl!

To get the next result from the last search, user sends
NEXT

Users can update their profile, set their status messages and other stuff. Also, since it's possible to send location on WhatsApp, you can easily provide users with hookups around them.


PS:
Unfortunately WhatsApp blocked my number. Which is in accordance with at their Terms of Service which does not allow harvesting/soliciting information from users. I tested it with just my number so I didn't solicit any phone number for any user.

I developed using python on top of Yowsup (a python WhatsApp api)  and the code is available on github. I used Redis and Elasticsearch for the backend database.

Below is a screenshot of me testing the service by finding a hookup. The data is dummy data generated using Faker.




I think WhatsApp can become the next platform for developing SMS/Push like services. Just like Facebook Connect. I hope to do a separate post on that. But for now No Games, No Ads, No Gimmicks. And no developer platform.