Search Quora Questions with SMS

About a month ago, Shreyes Seshasai from the popular online question and answer service Quora announced (on Quora, of course) that they are now supporting the ability for users to search questions via SMS.  To use Quora’s SMS-enabled service, simply go to the Quora Settings page and register your phone number. We’ll send you an introductory message, and you can reply to that phone number to use Quora. For convenience, you may want to just add that number to your phone’s contact list as “Quora.”

Interview with Shreyes Seshasai – Quora Development Team

I had a chance to interview Shreyes and learn more about Quora’s thinking when it came to add SMS using Twilio, and here’s what he had to say:

How did you decide to add SMS to Quora?

Adding SMS was something we had been thinking about for a little while. A few of us had dinner one night with another startup, and they mentioned they were using Twilio for SMS and it was pretty easy to set up and use. About a month later one night, one of our engineers decided a fun thing to do would be to hook up SMS for Quora. He started around 11pm, and by sunrise had the full integration up and running.

Tell us about the implementation – how long did it take?  what were the biggest challenges and most interesting details of the process?
Most of the implementation was done in a single night, which speaks to the simplicity of Twilio’s API and Quora’s codebase. The interesting challenges in setting it up were actually more related to product decisions than engineering. There are many different aspects to the Quora product, so figuring out which parts were relevant to enable through SMS was interesting.  After that night, the team spent a while just playing with it and tweaking the interaction until we felt it was in a good position to release to general Quora users.

What technology stack do you use at Quora, and how did this fit in?

Quora uses a web framework that we’ve been building in house called webnode. It’s written in python, and built on top  of parts of other open source python web frameworks. To handle sending requests to and receiving requests from Twilio, we use a simple, standalone web server built with Tornado, which shares code from our normal web tier. This allows the SMS controllers to do anything that we would normally be able to do through the website, without duplicating any of the logic. So searching for questions, adding a new question, etc, through SMS does the same thing as it would with users interacting with the website.

What advice do you have for other developers getting started with Twilio SMS integrations into their product?

The best advice I could give is to start with something simple, and then iterate on that. In this case, we started with something simple to just be able to send/receive requests from Twilio (using examples from the docs). Once that was done, we built a way to store Quora specific session state on top of that, followed by the messaging logic, etc. Doing this allowed us to get to a working product quickly, and then we could iterate on that design easily.