Inspiration

The inspiration for this project came from the simple idea that studying is often more effective and enjoyable when done in groups. Many students struggle to find peers with similar academic interests or needs for group study, leading to inefficient solo studying or missed opportunities for collaboration. We realized that while social apps like Tinder help people connect for social reasons, there's no easy way for students to meet others in similar academic situations. We thought of an app that helps students find others who are studying similar subjects nearby, allowing them to collaborate, share resources, and improve their academic performance together.

What it does

Our app helps university students find and connect with others who are studying similar subjects. Essentially, it's like "Tinder for studying," where students can:

  • Match with Study Partners: The app matches students who are studying the same or related subjects, making it easier to find peers for group study
  • View Nearby Students: Students can see other users in their university who are studying similar subjects. The app sorts these potential study partners from most relevant to least relevant based on their subjects
  • Start a Study Session: Users can create a study session that others can join. This allows students to initiate a group study for specific subjects or topics, inviting others to participate and collaborate in real-time
  • Location and Directions: The app provides the location of where the study session is taking place, based on the person who started the session. This feature includes directions to help users easily find the study spot on campus

How we built it

Backend: MongoDB Atlas for data storage, Gemini API, and Flask (Python) for handling server-side logic and API requests. Frontend: Built using Swift to create an efficient mobile experience for iOS users.

Challenges we ran into

One of the key challenges we faced was figuring out how to effectively sort users based on relevance - matching students who are studying similar subjects. By using the Gemini API, we were able to more accurately prioritize students who are most likely to be a good fit for each other. The API helped us improve the accuracy and efficiency of sorting users, ensuring that students could find the most relevant study partners quickly and easily.

Another challenge we faced was setting up a pub/sub model within MongoDB. We needed a way to handle real-time updates, such as when new study sessions were created or when a user requested to join a session. Implementing a pub/sub model with MongoDB was tricky because it required us to design an efficient way to broadcast changes to users in real time.

What we learned

  • We learned how to use the Gemini API to improve our user matching system. At first, we weren’t sure how to integrate it, but as we worked through the documentation, we figured out how to use it to sort users based on relevance. This made matching users more accurate and efficient
  • Moving to MongoDB Atlas from a local instance taught us how to set up and manage a cloud-based database. It helped us handle more users and data without performance issues
  • We learned that simplicity and ease of use are critical for a good user experience. We constantly made improvements based on feedback to make sure students could easily find study partners and join sessions. Keeping the app intuitive was a major focus
Share this project:

Updates