Inspiration
Empowerment is a big inspiration, protecting people from predators, if you can get out of a date while you are still in the restaurant or early enough in the night you might be able avoid problems later on.
What it does
It sends fake texts and calls based on user input to their phone at a specified time in the future. The purpose of this is to use that call and text as a excuse to get out of a uncomortable or threatening date. It has a front end for setting up and cancelling calls and texts, and some basic pre determinded excuses(more to be added later and maybe even custom ones).
How we built it
We obviously used Twilio for the text and phone call, pretty early on we decided we wanted to have a AWS EC2 server which runs the code continuously and polls for new messages and make the API requests to Twilio. After that we built the front end with React and the MongoDB Atlas database for holding all of the incoming calls. The python back end was consistently worked on throughout the first day to get it done. We hosted our media (the MP3's for the voice calls) in Twilio Assets (Classic). We also registered a domain with domain.com, quickescape.tech but we couldn't get the DNS records on their site working. We also used Auth0 for authentication, Tailwind and DaisyUI.
Challenges we ran into
We wanted to use a express server for pushing data to our MongoDB but it wouldn't work for us, potentially due to settings on the schools wifi. We instead chose to use MongoDB Data API and some of the features we ended up using had extremely sparse documentation with mostly just curl requests. We had to figure out the parameters for our Python and fetch API calls based off of these and their parameters. The Twilio Voice gave us a little bit of trouble and we got help from the Twilio rep Getting the JSON to work correctly in Python was also challenging as Jeffrey did not have any experience with JSON in Python before.
Accomplishments that we're proud of
Getting everything to work together and using the Twilio as well as succesfully using MongoDB Data API, using some features released in just February of this year. The backend for the EC2 server is quite satisfying to have accomplished.
What we learned
How to use Twilio was a big one. Jeffrey wrote his first Twilio request 1 week ago and he did all the Twilio for this project. Aside from that just using MongoDB Data API for the first time as it's so new, James had experience with using express servers previously but gained valuable experience in MongoDB Atlas and MongoDB Data API. Jeffrey learned to work with API's in Python and about JSON and how to work with it.
What's next for QuickEscape.tech
Adding more options, more basic functionality. Making it so the server can stay up indefinetly. Maybe going public or just using it for private use. We also want a feature where when you make a account, you have a fake text conversation with Twilio to simulate a real relationship with a contact. Maybe not using 1800 numbers and use some local numbers. The user also needs to save the number that texts and calls them as a contact before they use our service to make it more realistic so the fake text conversation is a way to do that easily.
GitHub
https://github.com/JeffreyDinackus/QuickEscape.tech
Our project, we authenticate with Auth0 so just sign in with a gmail and it will save your scheduled jobs.
https://main--dapper-marshmallow-514c22.netlify.app/
Input phone number in format of "+15555551234"
Please note: Our project does work, it just requires a Python script to be running on our EC2 server. We are not at the level yet where it can stay up continuously but that is our goal for the future. If you want us to start the server(for judging purposes) for you, you may contact us at Jeffrey's email associted with his devpost.
Why we are eligable for our categories:
Best use of Twilio: Our project is based around Twilio. We used SMS, Voice and Twilio Asset Classic for the hosting of our voice MP3's to be played over the phone. Our Twilio API calls work on our server in our Python script. We got a tiny bit of help from the Twilio rep with figuring out how to host our MP3 for the voice call. He referred us to Twilio Assets Classic.
Best use of MongoDB Atlas: We used MongoDB Atlas for our database and the MongoDB Data API for our API calls in our front end and on our server.
Best Domain: We registered QuickEscape.tech with domain.com using the promo code. If we had more time we could've got this working and that's definetly something to do in the future.
Log in or sign up for Devpost to join the conversation.