HotPads is a map-based housing search engine. Apartments and houses are listed for rent and for sale, along with foreclosures, vacation rentals and hotels. Users can search by the most important feature of real estate: location, and provides a range of user friendly visual search tools that help housing shoppers find their best housing option. We spoke with Senior Software Engineer David Peters about their Twilio integration, and how it helped them dramatically reduce the amount of fraudulent activity on the site.
How did you get started?
HotPads was founded in 2005 by Matt Corgan, Douglas Pope, and John Fitzpatrick after they had experienced the pain of searching for apartments online when relocating for their first jobs after graduating from the University of Notre Dame.
Everyone who works at HotPads constantly comes up with ideas for improvements and new features. Lately we’ve been busy expanding our mobile applications for different platforms (including the first real estate app for Android Honeycomb), creating more search visualization tools like HotSpots, and beefing up our promoted listing products.
How do you use Twilio?
Twilio APIs power two very different features of HotPads that augment the incoming stream of listing information: fraud prevention to keep housing shoppers (and our credit card transaction processor) happy, and phone call tracking to keep our paying customers informed of their listing activity.
When people create housing ads on HotPads, they have the option to pay for extra promotion. Unfortunately, fraudsters love to try to get extra eyeballs on their ads as well, which they try to accomplish by paying to promote their listings, usually with stolen credit cards. While we have many safeguards and heuristics in place to prevent fraudulent listings from infiltrating our search results, there is no perfect catch-all solution. As HotPads grew in popularity we started seeing increases in the amount of fraudulent transactions and thus credit card chargebacks.
Wading through all our transactions by hand is obviously cumbersome and time-consuming, usually involving a call to the user-provided phone number associated with each potentially fraudulent listing. It turns out that criminals don’t usually enter their own phone numbers when committing credit card fraud, so when the numbers were still connected, the people on the other end either had no idea what was happening or, in the case of a legitimate transaction, confirmed that they had just listed a place on HotPads. We decided to automate this process to verify phone numbers before processing credit card transactions.
To verify that a user owns a phone number, we dial the number through Twilio and read out a series of digits which are stored in our server and are only valid for that single phone call. If the digits entered by the user match the digits we sent them, all is well, but if there is a mismatch we allow a couple of retries. Each retry involves a new code and a new phone call. Only the most recent code is allowed.
Requiring phone number validation drastically reduced the rate of fraud on HotPads without any negative impact to conversion rates. It’s also extremely cheap compared to using human labor, and it works while we’re asleep.
We began using Twilio to track phone calls and provide metrics to some of our premium listing customers a couple of years ago on the advice of our friends at RentLinx. Phone call tracking was something we’d previously considered, but existing solutions were quite expensive; fortunately, Twilio’s prices and flexibility allowed us to finally start giving our customers a feature they’d been asking for.
The call tracking solution we built includes maintaining a pool of available call tracking numbers in our database. When a listing comes in that has requested call tracking, our software searches that database and assigns an available number depending on the listing’s location, desired extension length and the amount of time that a number has gone unused (we don’t reassign numbers while they’re “dirty,” and we also don’t relinquish numbers that we can still use).
When a housing shopper calls the tracking phone number listed on a listing’s detail page on HotPads, they are either forwarded directly to the listing owner’s phone number or prompted for an extension, depending on that tracking phone number’s configuration. Some listing owners prefer to have dedicated (extensionless) phone tracking numbers to absolutely minimize the chance of lost conversions, while many are fine with requiring callers to dial a short extension and just want to have an idea of how many calls HotPads is driving to them. Phone call tracking allows HotPads to more effectively prove its value to people who pay to promote their ads while providing them with a valuable service by helping track leads.
Any advice for new Twilio developers just getting started?
Just start. Twilio provides libraries in many major languages that make interfacing with their web services a breeze and you get an account credit that you can use to make all sorts of silly mistakes before you start spending real money.