One day, Gene was pumping mad iron at the gym when he wanted to try a heavier set. However, try as he might, he could not find anyone willing to spot him, possibly due to his crippling social anxiety. This experience has weighed heavily on his mind and now weighs heavily on his bones. A few days ago, on advice from his therapist (physical), Gene decided to finally harness the mental anguish generated by his past trauma into something productive. On that day, the idea of Spotr was born.
What it does
Spotr is an app that connects nearby similarly marbled individuals to facilitate safe weight lifting practices, specifically by having a bro watch over you, just in case.
How we built it
We looked at the screen, vomited code, and then it worked on the fifth try. The first four tries involved creating a cloud9 repository, installing python, and doing all the work. More specifically, we first set about determining how to represent each user and after that we created a skeleton to discover what would be necessary for the completion of the project. Once that was established, we started working on the front-end app alongside the back-end server so that we could figure out how to communicate between the two.
Challenges we ran into
- So far, connecting the Android API to a Flask HTTP server has proven to be a nearly sisyphean task.
- As it turns out, asynchronous two-way communication is even more difficult
- Parsing JSON to create classes was an interesting challenge that fried many a brain cell.
Accomplishments that we're proud of
- Finally getting two-way communication working between the server and the app.
- Learning Android Studio and making an actual App
- Figuring out Flask with almost no Python experience
- Ironing out most of the bugs in the App
What we learned
- Any kind of networking with an Android device is an absolute headache.
- Flask is useful for more than just websites.
- Debugging network communication with just console logs is simultaneously painful and soul crushing.
What's next for Spotr
- Matchmaking based on location
- Chat functionality between partners
- More criteria for matching partners
- Queuing multiple workouts
- Remembering partners
- Finish notification popup
- Add a cancellation feature