About MatchABull
Starting college can be exciting—but also lonely. Walking into a campus full of strangers, especially for freshmen, can be intimidating. MatchABull was inspired by the need to help students break the ice, find peers with shared interests, and form meaningful friendships from day one. We wanted to create a solution that wasn’t just another social media platform, but a practical tool for real-world connections.
How We Built It
We used Next.js 15 for the frontend, Supabase for the backend and database, and Shadcn/UI + Tailwind CSS for rapid, clean styling. Authentication is handled with Clerk, allowing smooth signup. Onboarding takes only 60 seconds, letting users select their major, year, skills, hobbies, and the type of friends they’re looking for.
The core is our matching algorithm, which scores compatibility based on shared hobbies, skills, major, and year. The score (S) is computed as a weighted sum:
$$ [ S = 0.4 \cdot \text{hobbies_score} + 0.3 \cdot \text{skills_score} + 0.2 \cdot \text{major_score} + 0.1 \cdot \text{year_score} ] $$
Users can send connection requests with a short friendly message, which appear in a notifications dropdown. Recipients can accept or reject requests, creating a dynamic, interactive social experience.
What We Learned
Building MatchABull taught us how to integrate authentication, database operations, and reactive UI flows in a hackathon environment. Designing a weighted matching algorithm was a great exercise in applied data modeling, and implementing real-time notifications highlighted the importance of responsive frontend design.
Challenges
The main challenges were handling array-based data in Supabase (skills and hobbies), preventing duplicate connection requests, and creating a clean, responsive UI in a short timeframe. Balancing simplicity with usefulness was crucial: we wanted a minimal interface but powerful social features.
Built With
- api
- nextjs
- react
- shadcnui
- supabase
- tailwindcss
Log in or sign up for Devpost to join the conversation.