Inspiration

Last night we ordered food from a new food delivery startup (which we prefer not to name). To our surprise, the driver knew our actual phone number. Usually in such application (like Uber, Lyft, Doordash), both customer's phone number and the driver phone number is masked from each other to increase safety and privacy of both the parties.

At first we were mildly infuriated that this company didn't care about its user's privacy. But almost immediately, we realized that for a small business, it's non trivial to implement such a masking solution, handling the exchange, load balancing. So we thought we can solve this problem since it will impact a large category of small businesses such as: Delivery, Sites like CraigList where users are hesitant to expose their phone number, home showing websites such as zillow, trulia etc.

What it does

ProxyTel allows you to quickly integrate masked phone numbers very easily in your app. All you have to do is come and register your app, after which:

  1. You are given a URL: Simply send a REST request on the url /connection/start/<yourCustomerPhoneNumber><yourDriverPhoneNumber>/<orderID>
  2. That's it, we will give you two virtualPhone numbers: one you can give to your customer and other to your driver. And they can easily contact each other.
  3. Once this transaction is complete simply send another request to stop: /connection/stop/<yourCustomerPhoneNumber><yourDriverPhoneNumber>/<orderID>
  4. Here orderID can be any sort of reference number to distinguish one business transaction.
  5. What's more? You don't have to manage any phone number! We will do that balancing, based on your traffic.
  6. Still want more? Well, we will transcribe all the customer-driver phone recordings to text and send all to IBM-Watson for sentimental analysis for any harsh conversations which will be flagged to you to take further action.
  7. Here, driver can be any other kind of agent. For example, in case of showing homes, it can be the realtor. In apps which connect buyers and sellers (like CraigList), the agent can be the seller.

How we built it

  1. We used Nexemo's super friendly API's handle all the phone calls.
  2. Using Nexemo's API, we generate virtual numbers on the fly.
  3. Then we keep a record of who wants to contact who under what reference number.
  4. Whenever we receive a call from either party, we make sure that the connection is not expired and then we connect both of them.
  5. After the conversation is over, we fetch the recording from Nexemo and use IBM Watson to transcribe it into text.
  6. We then send the transcribed text again to Watson for tone analysis. This way we can tell if any conversation was rude and flag it for review. You may checkout the code here : https://bitbucket.org/siddhant3s/proxytel

Challenges we ran into

  1. Nexemo's API were usually very well written. Except for few places where we got stuck. Specially fetching the recording from their severs.
  2. Getting IBM Watson to correctly transcribe the text.
  3. The number one challenge was to design a neat API interface so that our customer can use our product with least friction possible.

Accomplishments that we're proud of

  1. This idea came from a real itch we had just last night. It was amazing to come here and scratch it with the help of such helpful sponsors.
  2. Startup culture is an eco-system. The best thing about it is products which help other startups to do their job better. We're glad we were able to contribute it here in the heart of Silicon Valley.
  3. First time using IBM-Watson. Made it work.

What we learned

  1. We learned that voice as an interface is not dead. In fact, it's so accessible to most people (since it's just requires a phone with no internet connection). We learned how easy it is these days to integrate with Voice
  2. AI is here. Using IBM Watson, we learned the plethora of possibilities and capabilities by the machine intelligent.
  3. We learned not to use react-starter-kit for short hackathons. It's all great, but quite convoluted when you're trying to make something simpler.It shines if you have multiple days to ship something, but for less than 24, one should use as simple technology as possible.

What is next

  1. Develop a pricing model. We want to keep it as affordable as possible.
  2. Integrate more tools which can analyze the calls do some data mining on it.
  3. Dedicated phone numbers for high-volumed customers.
Share this project:

Updates