As students, we understand the struggle of balancing the workload at the University and a healthy lifestyle. Often, having a friend to join you in the gym can provide additional motivation and spirit. This exact idea was our main inspiration for the application. We wanted to develop a tool that would help fellow students to find gym companions from their area based on their preferences and, most importantly, availability.

What it does

Our web application is built as a chat bot / virtual assistant that gets user input according and matches potential buddies. Examples of matching criteria include checking Google Calendars between several users to find similar timetables, location (specific gym or city) and time (early morning, afternoon, etc.) preferences. Having found a match the system suggests the two users to connect and populates their calendars with an agreed time for a session.

How I built it

Web app built with Python using Flask and Javascript. The chat bot functionality implemented using Dialogflow API. We used the Google Places API to find suggestions for location preferences and to compare location of users. Google Calendars API is also used to access free/busy intervals of users. SQLite database stores user preferences obtained during initial setup and assists in data caching / retrieval.

Challenges I ran into

Although we were very excited about the project and the idea behind it, I believe we had set goals somewhat too high for the application and its functionality. We started our work by dividing different parts of the application to develop individually but on the last day realised we did not have enough time to put the pieces together. We ended up with a lot of written and tested but unused methods because of this, but if we shall work on the project after the hackathon, a lot of work will be done already.

Accomplishments that I'm proud of

None of the technologies I have worked with on this project were my primary ones but I managed to familiarise with most of them which I am particularly excited about. Our team also performed really well together and were easy to communicate with.

What I learned

Interacting with the relevant APIs and databases, user authentication using OAuth.

What's next for BuddyUp

Finishing the application and implementing all the planned features!

Icons made by Freepik from is licensed by CC 3.0 BY
Share this project: