Inspiration

University campuses are full of people who could become great friends, study partners, or teammates, yet meaningful connections are often difficult to discover. Existing social platforms focus mainly on appearances or generic interests and rarely consider the realities of student life.

We created UniSoul around one idea: every student is made of different “blocks”, their classes, timetable, major, interests, and personality. When these blocks overlap, the connection lights up.

What it does

UniSoul helps university students discover compatible people through explainable AI matching.

Students create a profile containing their major, MBTI, interests, courses, and weekly availability. UniSoul then recommends compatible students and explains every result with specific reasons, such as shared courses, common interests, or matching free time.

Users can:

  • Build a personalised student profile
  • Add and view their timetable
  • Discover explainable compatibility matches
  • Send and manage friend requests
  • Chat with accepted friends
  • Share text, images, files, and stickers
  • Browse and join campus events

How we built it

We built UniSoul with Next.js, React, TypeScript, Tailwind CSS, Prisma, and SQLite.

Our matching engine combines several compatibility signals, including shared courses, timetable overlap, interests, major, and personality. Instead of returning only a percentage, it generates understandable reasons for each recommendation.

We created seeded student profiles with realistic course and timetable overlaps so that the entire matching journey could be demonstrated consistently. Polling powers chat updates, while Prisma manages users, friendships, messages, courses, schedules, and events.

Challenges we ran into

Our biggest challenge was combining several different types of student data into one meaningful and explainable score. A high percentage alone was not enough; users needed to understand why someone was recommended.

We also had to coordinate shared data models across matching, timetables, chat, authentication, profiles, and events. Keeping the design consistent while multiple team members developed features simultaneously required clear component boundaries and frequent integration.

Accomplishments that we're proud of

We are proud that UniSoul goes beyond surface-level matching. Every recommendation is supported by concrete shared signals.

We also completed an end-to-end experience: students can register, build profiles, explore animated match recommendations, send friend requests, chat after connecting, and discover campus events.

The visual “blocks lighting up” concept connects our matching logic, interface, and brand into one coherent story.

What we learned

We learned that explainability can be just as important as algorithmic accuracy. Showing users the reasons behind a match makes the experience feel more trustworthy and personal.

We also learned how important shared data contracts, reusable design components, accessibility, and continuous integration are when building a complete product under hackathon time pressure.

What's next for UniSoul

Next, we would introduce real-time messaging, notifications, calendar integration, group matching, event recommendations, and stronger privacy controls.

We also want to improve the matching model using user feedback, allowing UniSoul to learn which types of connections lead to meaningful friendships and successful study groups.

Built With

Share this project:

Updates