Sport is a great way to stay fit and healthy. Sports also teaches us big lessons for life, while encouraging a sense of belonging and identity, bringing people together in this increasingly fragmented society.
Humans are, by nature social animals. In the past we were hunters and gatherers and that competitive spirit is still in us. This is evident in the fact that most sports are team sports and require more than 2 players. There is a common problem of finding other players especially if someone is new to the place and aren't great at socializing.
For Sai (team member) personally, when he was a new student to the University of Waterloo, it was hard to find others who were interested in playing badminton. The student clubs were extremely crowded and weren't effective. It was a tedious to reach out to others, asking if they're interested in playing and would be available at a certain time. Again, having no prior understanding on what their skill level was, made the sport either too boring or too hard.
There is no dedicated platform where one can meet other players who aren't professional yet love to play a sport. This in fact, could be one reason why people have hard time playing sports.
What it does
Allows you to host sports events
Easily join events hosted by others
Send call/SMS reminders to others for meet-ups via Twilio
How we built it
MongoDB database for storing data relating to users and events
Flask webserver for serving web files and containing Python logic to interact with Twilio
Account authentication system built with MongoDB and Flask
Challenges we ran into
Initially, we have trouble figuring out how to send custom voice messages dynamically using Twilio's programmatical voice calls (we were able to overcome this by using TwiML bins)
Flask user authentication was difficult to implement
Allowing multiple users at any one point in time was challenging
CSS is a pain
Accomplishments that we're proud of
Successfully implementing a multiple user authentication system using MongoDB and Flask authentication
Making it look decent
Getting the whole pipeline from user account creation to joining events and receiving Twilio calls working correctly
What we learned
How to implement user authentication
Utilizing the Twilio API (first time using the API)
Partnering Flask with MongoDB
What's next for Sportify
Implement booking mechanisms for limiting the number of people at each event
Allow friends to respond to reminders with number pads e.g. "1" for "Will be there!" and "2" for "Sorry, can't make it!"