Click here to watch the Google Gemini demo video.

Inspiration

Modern classrooms often overwhelm teachers, making it challenging to give each student the personalized education they deserve. Many attempts to rectify this by placing students in random groups, but this results in mismatches that can inhibit the benefits of peer-to-peer learning. We wondered: Could AI enhance human-to-human collaboration? That's why we built Synapse, integrating Google's Gemini 2.5 Pro AI to intelligently group students based on complementary knowledge and compatible personalities, fostering mutual growth and support.

Landing Page

What it does

With Synapse, instructors can generate optimal groups by simply dragging and dropping a graded assignment's CSV and having their students fill out a quick personality questionnaire.

At Synapse, we also believe in giving instructors maximum control over grouping logic while retaining the ease of our service. Thus, instructors can specify their ideal group size and the importance placed on both academics and personality.

Generating Groups

Generated Groups

In our top-of-the-line grouping algorithm, we produce two key insights per student:

  • AcaDiff: The extent to which one student's academic strengths and weaknesses complement another's, calculated using mean absolute difference. A value closer to 1 indicates stronger complements, while a value closer to 0 indicates weaker complements.
  • Persona Embedding: A numeric vector generated by Google Gemini that properly encodes each student's personality and can be directly compared to another embedding. Embeddings are compared using the cosine similarity algorithm.

We combine these insights using the weighted sum matchScore = a*AcaDiff + b*PersonaSym, drawing inspiration from neural networks. a' andb` are weights that are modifiable by the instructor.

How we built it

For our frontend, we used Next.js (App Router) combined with Tailwind CSS for responsiveness and aesthetics. Our backend consisted of Supabase Auth and PostgreSQL, which were optimized for CSV handling and quick queries while speeding up development time.

For artificial intelligence, we used the Gemini 2.5 Pro model to generate accurate personality embedding vectors.

Challenges we ran into

  • CSV Chaos: Early in development, we had problems dealing with inconsistent file headers and incomplete student data while parsing. We solved this using the zod npm library, which forced the parsed CSVs to follow a particular schema
  • Database Design: We had to switch databases from Firebase to Supabase (the latter of which supports SQL) after realizing our data was highly relational and would not be a good fit for document-based databases.
  • User Experience: We debated extensively over our brand identity and color scheme and created an intuitive UI tailored for educators.

Accomplishments we're proud of

First and foremost, we're proud of our incredibly easy end-to-end workflow; instructors can go from creating classes to generating student groups in under 30 seconds. We also figured out how to use Google Gemini in some pretty unconventional ways, such as generating vector embeddings and personalizing prompts by passing in user data. Lastly, we're proud of our stunning UI, built using libraries such as Tailwind and Lucide.

What we learned

Don't nitpick the details. Hackathons are a time crunch. As new hackers, we had to learn how to take an idea and run with it rather than picking apart every detail and not giving ourselves the chance to try something out.

Learning quickly. Our team was familiarizing itself with many new libraries such as Superbase and Next.js, and we needed to hit the ground running if we wanted to have any chance of building an amazing product. It's safe to say that we made that goal.

Putting it together. To make this product work, we had to integrate many services, such as authentication, file parsing, emailing, and AI. Each team member has effectively learned how to do that through the experience we gained in this project.

What's next for Synapse

  • Canvas & Gradescope Integration: Eliminating manual CSV uploads entirely.
  • Feedback Loops: Enable students to provide match feedback to refine matching algorithms.
  • Student Dashboards: Personalized insights into strengths, growth opportunities, and historical groupings.
  • Advanced Neural Matcher: Leveraging real-world classroom data to continuously enhance groupings effectiveness.
  • Instructor Console: Natural language console for instructors to directly alter pairing logic/weights and gain insights into class statistics with GitHub Copilot-like "modes."

Built With

Share this project:

Updates