See the presentation here: https://docs.google.com/presentation/d/1HmbIPNttHf2ZeuHVCGLxZJrODjVbQVwbfTSUMre5eOg/edit?usp=sharing Originally was live on 60seconds.tech, taken down for money reasons
Life is fleeting. Especially as high schoolers, we can easily get caught up in the fast pace of life, often forgetting the small things in life that make or ruin our day and shape us as individuals. Or perhaps the toll of high school or life in general is getting to you, and you can't see the happy things in life anymore. Enter: 60 Seconds.
What it does
60 Seconds is an iOS and messaging app that calls you daily at 9 PM and asks you to record a 60 second description of what happened that day - essentially an online journal but it's much more proactive. In an iOS app, it allows you to access all past recordings, along with a rating of whether you were happy or not, which it generates using machine learning and sentiment analysis.
How we built it
We built it using Twilio to handle the phone calls and recording the calls and Heroku + Flask to host the backend code on a remote server. We used Python to write the Flask, Heroku and Twilio code and XML to write the files that dictated how the call would go. We also used Firebase to store the locations of the audio files to each specific user. We finally used Swift to write the iOS code.
Challenges we ran into
We ran into many challenges along the way. The Heroku server proved difficult to work with, and we had to be extra careful because we were using a paid Twilio account - we learned this the hard way when we accidentally created a infinite loop and wasted a dollar of our Twilio account money. It was difficult recording and transcribing the audio as well (for the machine learning) because the code would infinite loop often and the docs were not super helpful, and the problems we were having were highly specific.
Accomplishments that we're proud of
We're proud of the fact that we managed to implement all the features we wanted to. The recording and transcription happens seamlessly now, and it takes just a few seconds after the end of the recording to create a transcription of the audio to run sentiment analysis on. The sentiment analysis aspect works very well too, with high accuracy and overall the app works as we wanted.
What we learned
We learned how to use XML to control the logic flow of the call we initiated, and we became proficient at using Twilio, Flask, and Heroku to run the backend code.
What's next for 60Seconds
We want to release this as a iOS app and publish it for the world to see. We have registered a .tech domain and plan to market this on the App Store.