We live in an age where almost everything is public. We throw email addresses and phone numbers around like we don't care. One consequence of this is spam. We constantly get bombarded with spam/telemarketing texts and calls. I made the mistake of picking a call up, and ever since then, I've gotten nonstop constant spam. I'm not alone either; the Federal Trade Commission receives over 375k complaints every month relating to spam calls. We wanted to create a system in which people could use SMS and phone calls exactly as they normally would while keeping their phone number private and filtering out annoying spam messages and calls.
What it does
TeleGuard is a 3 step service:
- TeleGuard gives each user a proxy phone number to hand out to others/companies. When companies/services make you do SMS verification or just enter in your phone number, you don't have to worry about them selling your phone number, sending you pesky texts, or getting it stolen in a data breach.
- TeleGuard filters spam. It uses a machine learning model to filter out marketing and spam SMS messages with a 99% accuracy. You'll never get interrupted again to "Get a quick loan at low interest!"
- TeleGuard ensures only humans reach you. When someone calls your proxy number, they are met with a captcha that makes them dial a 4-digit code. This ensures that telemarketers who use bots to call you won't get past your proxy number. If a human does call your proxy number, their call is automatically redirected to you. Similarly, when bots text you, they are prompted to solve captchas to have their message forwarded to you. If TeleGuard accidentally marks anything as spam, it will send you a transcript of the text/call on the online dashboard.
How we built it
We built the proxy phone service using Twilio and Express.js with Node.js. The user registration and database was built on Firebase and MongoDB. Firebase was the perfect choice for us because it had a "phone authentication" method already built in. To detect spam, we ran a dataset of 5.7k spam and real text messages through Google AutoML Language AI platform, which enabled us to build an extremely accurate model with 99% accuracy in just under 3 hours. Finally, the server and dashboard, we used Express.js.
Challenges we ran into
We had a difficult time figuring out how to keep a user's number completely anonymous while maintaining normal SMS functionality. In the end, we implemented a two-way proxying system where, if both people are registered with TeleGuard, they will both send and receive messages through a proxy. To deal with those who did not have a TeleGuard proxy number, we decided that if the user did not have a proxy number their number would show up on the other person's phone, but the person with the proxy number would ultimately remain anonymous.
Accomplishments that we're proud of
We are proud of how the end product turned out and how polished it became. Usually, hackathon projects are loosely hacked together, but this was our first time making a polished service including user registration, dashboards, etc. from start to finish in such a short amount of time.
In addition, we are proud of our use of the Twilio API. Twilio is often known to be used for 2-factor-authentication and automated text messaging, but we were able to take Twilio's control over calls and SMS to create a fully-fledged privacy system.
What we learned
We learned a lot about Firebase and the Twilio API. Both of us were only a little experienced in NodeJS and had never used either API's.
What's next for TeleGuard
We aim to create a world where NO ONE ever needs to share their private phone number. Everything will be sent through proxy numbers, in which messages can be encrypted and easily disabled in the case of a security breach. Security is important, and Twilio aims to help protect your information.