Inspiration
As a student, I often struggled to find study partners who shared my learning goals and schedule. I wanted to create a tool that could connect like-minded learners, making studying more collaborative and effective. This inspired me to build StudySync, an AI-powered platform that matches students based on their preferences, learning styles, and availability.
What it does
StudySync is an AI-powered platform that connects students with compatible study partners based on their subjects, location preferences, learning styles, and availability. It uses a matching algorithm to recommend top study buddies, making collaborative learning more effective and enjoyable.
How we built it
Frontend React.js: For building a responsive and interactive user interface. React Bootstrap: For styling and layout components.
Backend Flask: For creating RESTful APIs to handle user requests. SQLite: This is used to store user profiles, preferences, and matches. JWT: For secure user authentication and session management.
Algorithm Our matching algorithm encodes user preferences (subjects, availability, learning style, location) into numerical features using multi-label binarization. It calculates similarity scores between users using cosine similarity. The algorithm ranks potential matches based on weighted similarity scores, dynamically adjusting weights based on user feedback to improve recommendations. Though we couldn't implement the dynamically adjusting weights on time.
Workflow User Onboarding: Users sign up, log in, and set their study preferences. Matching Algorithm: The backend computes similarity scores and generates top matches. Dashboard: Users view their matches and connect with study partners.
Challenges we ran into
Circular Imports: Initially, we struggled with circular dependencies between modules. We resolved this by restructuring the project and using lazy imports. JSON Serialization: Handling non-serializable data types (e.g., numpy.int64) required converting them to native Python types. Index Mismatch: Mapping user_id to user_index in the similarity matrix was tricky. We solved this by creating a mapping dictionary. Token Management: Ensuring secure token generation and validation took multiple iterations to get right.
Accomplishments that we're proud of
Successfully building a full-stack application from scratch without relying on LLMs, featuring a robust matching algorithm for accurate study partner recommendations. We crafted a seamless user experience with secure authentication, intuitive navigation, and real-time functionality, all supported by a hand-coded codebase prioritizing performance and privacy. Through iterative tuning and collaborative problem-solving, we delivered a polished platform with reliable partner-matching and secure data handling, demonstrating the power of clean code and thoughtful design.
What we learned
Full-Stack Development: Gained hands-on experience in building both frontend and backend systems. AI and Machine Learning: Learned how to implement and optimize a matching algorithm. Database Management: Worked with SQLite to store and query user data efficiently. Problem-Solving: Developed strong debugging and problem-solving skills by overcoming various technical challenges.
What's next for StudySync
Enhanced Matching Algorithm: Incorporate more factors like study goals and academic performance for better matches. Real-Time Chat: Add a real-time messaging feature for seamless communication between study partners. Mobile App: Develop a mobile version of StudySync for on-the-go access. Gamification: Introduce badges and rewards to motivate users to achieve their study goals.

Log in or sign up for Devpost to join the conversation.