🌟 Project Title: SCEHacks Matchmaker 🔥 Inspiration
Hackathons are about collaboration, but forming a balanced team quickly is often chaotic. People cluster with friends or those with similar skills, which leads to overlap (like 3 back-end devs and no designer). We wanted to fix that by building an AI-powered teammate matcher that promotes complementarity over similarity.
💡 What it does
Smart Profile System: Participants enter their roles, skills, interests, and availability.
AI Scoring Engine: Powered by Google’s Gemini, it evaluates not just overlap but how complementary two people are (e.g., pairing a front-end dev with a back-end dev).
Instant Team Recommendations: Our algorithm returns ranked matches with clear explanations (“Strong complement: FE + BE, overlapping interests in AI”).
Diverse Data Seeding: The platform comes preloaded with 50+ diverse profiles across hackathon variants, ensuring broad test coverage.
Frontend + Backend Integration: A TypeScript + Vite frontend (deployed on Vercel) communicates with a FastAPI backend (deployed on Render) through a secure API.
⚙️ How we built it
Backend:
FastAPI + Uvicorn for API endpoints.
MongoDB for participant storage.
Gemini for AI-powered scoring, with strict prompts enforcing complementarity.
Guardrails + scoring rules ensure balance (overlap = capped, complement = boosted).
Frontend:
React (Vite + TypeScript) for fast development.
Tailwind CSS + ShadCN UI for a modern, clean design.
Recharts for simple data visualization of matches.
Vercel deployment with environment variables connecting to the backend.
DevOps:
Render for backend hosting with .env management.
Vercel for frontend with VITE_API_URL linked to Render.
GitHub for version control.
🚀 Challenges we ran into
TypeScript Type Mismatches: Our Match types drifted between API and frontend storage — strict TypeScript rules on Vercel caused multiple build failures.
Submodule Accident: Accidentally turned Backend/ into a Git submodule and had to reset Git history to push properly.
CORS & Deployment: Making Vercel frontend talk to Render backend required fine-tuned CORS settings and environment variables.
Prompt Engineering: Ensuring Gemini always returns strict JSON and prioritizes complementarity instead of similarity.
🏆 Accomplishments we’re proud of
Built a full-stack AI app in one weekend that runs live on the web.
Created a system that fixes hackathon team-forming pains we’ve personally experienced.
Learned to debug tough Git, TypeScript, and deployment issues under time pressure.
A sleek UI + working AI backend integrated successfully.
📚 What we learned
The importance of prompt design + guardrails when relying on LLMs.
Real-world TypeScript challenges with shared interfaces.
How to set up Render + Vercel + MongoDB for production-ready deployment.
That great teams aren’t built on similarity — they thrive on diverse skill sets.
🔮 What’s next
Add team size recommendations (e.g., “You + 3 others make a balanced team”).
Support multi-criteria matching (technical + non-technical traits).
Build an event organizer dashboard for monitoring team formation.
Integrate real-time chat or Discord/Slack bots for instant team building.
Try it out GitHub:https://github.com/amcrjlnv/SCEHacksFriSep5
Backend: https://scehacks-2.onrender.com/
Frontend: https://scehacks.vercel.app
Built With
- fastapi
- gemini
- html/css
- javascript
- python
Log in or sign up for Devpost to join the conversation.