A full-stack MERN platform that intelligently matches hackathon participants with the right teammates, projects, and now live hackathons across platforms.
๐ Live Website
https://hackathon-buddy-three.vercel.app/
๐ธ UI Preview ๐ Dashboard
๐ค Matching Page ๐ฆ Projects Page ๐ Hackathons Page ๐ค Collaborative Editor ๐ค Profile PageMatches users based on:
| Factor | Weight | Method |
|---|---|---|
| Skills | 50% | Jaccard similarity |
| Interests | 30% | Jaccard similarity |
| Role Compatibility | 20% | Compatibility matrix |
- Score range: 0โ100
- Returns Top 5 best matches
- Create / join / leave projects
- Role-based team building
- Project-specific chat rooms
- Built with Socket.io
- Room-based messaging per project
- Stores chat history in MongoDB
- Loads last 100 messages on join
Socket Events:
join_roomsend_messagereceive_messageroom_history
Browse hackathons from multiple platforms in one place:
- Devpost
- Devfolio
- HackerEarth
- Unstop
Features:
-
Live aggregated hackathon feed
-
Filters:
- Platform
- Mode (Online / Hybrid / In-person)
- Status (Open / Upcoming)
-
Search by tags, organizers
-
Sort by prize
- Node.js
- Express.js
- MongoDB + Mongoose
- JWT Authentication
- Socket.io
- bcryptjs
- React 18
- Vite
- Tailwind CSS
- Axios
- React Router DOM
- Socket.io-client
hackathon-buddy/
โโโ server/
โ โโโ controllers/
โ โโโ models/
โ โโโ routes/
โ โ โโโ auth.js
โ โ โโโ users.js
โ โ โโโ projects.js
โ โ โโโ match.js
โ โ โโโ github.js
โ โ โโโ hackathon.js # NEW
โ โโโ services/
โ โโโ middleware/
โ โโโ sockets/
โ โ โโโ editorSocket.js
โ โโโ server.js
โ
โโโ client/
โ โโโ src/
โ โโโ components/
โ โโโ pages/
โ โ โโโ Dashboard.jsx
โ โ โโโ Matching.jsx
โ โ โโโ Projects.jsx
โ โ โโโ Hackathons.jsx # NEW
โ โ โโโ Profile.jsx
โ โ โโโ Chat.jsx
โ โโโ context/
โ โโโ services/
โ โโโ utils/
- Node.js v18+
- MongoDB (local or Atlas)
cd server
cp .env.example .env
npm install
npm run devServer runs on: ๐ http://localhost:5000
cd client
npm install
npm run devFrontend runs on: ๐ http://localhost:5173
PORT=5000
MONGO_URI=mongodb://localhost:27017/hackathon-buddy
JWT_SECRET=your_secret_key
CLIENT_URL=http://localhost:5173
| Method | Endpoint |
|---|---|
| POST | /api/auth/register |
| POST | /api/auth/login |
| Method | Endpoint |
|---|---|
| GET | /api/users/me |
| PUT | /api/users/update |
| GET | /api/users/all |
| Method | Endpoint |
|---|---|
| POST | /api/projects |
| GET | /api/projects |
| GET | /api/projects/my |
| POST | /api/projects/join/:id |
| POST | /api/projects/leave/:id |
| Method | Endpoint |
|---|---|
| GET | /api/match/users |
| GET | /api/match/projects |
| Method | Endpoint |
|---|---|
| GET | /api/hackathons |
- User joins project
join_roomevent triggered- Server sends
room_history - User sends message โ
send_message - Server saves to DB
- Broadcast via
receive_message
- Dashboard
- Matching Page
- Projects Page
- Hackathons Page
- Chat System
(Add screenshots here for GitHub impact)
- Hackathon prize field sometimes shows raw HTML (
<span>) โ needs parsing fix - No pagination in chat (limit: 100 messages)
- No authentication validation in socket events
- AI-based hackathon recommendations
- Chat pagination + infinite scroll
- Typing indicators
- Notifications system
- OAuth (GitHub login)
- Email verification
- Better hackathon data sanitization
- Chat works across multiple users
- Messages persist in MongoDB
- Hackathon data loads with filters
- Matching algorithm returns top 5 users
-
You built a strong MVP, not a production-ready system
-
Biggest weak points:
- No validation on socket layer
- Hackathon data parsing is sloppy
- No caching โ API will slow down
-
If you show this in interview, be ready to explain:
- scaling strategy
- data normalization
- real-time architecture
| Roll No. | Name |
|---|---|
| 35 | Nilesh Anil Bhat |
| 18 | Arya Niraj Gaikwad |
| 26 | Abhishek Bhimrao Patil |
| 29 | Komal Ganesh Walke |
Hackathon Buddy now combines:
- Smart team matching
- Project collaboration
- Real-time communication
- Hackathon discovery
This makes it a complete ecosystem for hackathon participants, not just a matching tool.





