Matcha
AI hackathon teammate matching platform
Project metadata
Overview
An AI-powered hackathon teammate matching platform. Scrapes Devpost hackathon participant data, analyzes profiles with Google Gemini, and matches users with complementary teammates.
Problem
- Solo hackers struggle to find teammates with complementary skills
- Teams waste hackathon time searching for missing roles
- Ideas never ship because of incomplete teams
Features
AI-powered matching
Gemini 2.5 Flash analyzes skills, interests, and hackathon goals. Returns personalized teammate suggestions with match scores and reasoning.
Devpost scraping
Selenium and BeautifulSoup pull participant profiles from a hackathon's Devpost page, authenticated via session cookies (jwt, remember_user_token, _devpost, aws-waf-token, _ga).
Authentication
Auth0 OAuth integration, JWT session management, email-based password recovery.
Profile and workflow
Two-step profile setup (basic info, then skills/interests/goals with tag-based input), hackathon survey system with dynamic validation, brewing page with real-time matching progress animation, results page with compatibility scores and export, team dashboard, messaging, and an ideas board with upvoting.
Architecture
Three services.
Technical details
Known constraint: the Gemini free tier allows 20 requests/day on gemini-2.5-flash. The README documents switching to gemini-1.5-flash (app.py:493) as a workaround for rate limits.
Full stack
React 18.2 · Vite 5.0 · React Router 6.20 · TailwindCSS 3.3 · Auth0 · Material Icons · Flask 3.0 · Flask-CORS · PyMongo 4.6 · Selenium 4.16 · BeautifulSoup4 4.12 · Gemini 2.5 Flash · Express 5.2 · bcryptjs · jsonwebtoken · Nodemailer · MongoDB Atlas
Results
Gemini 2.5 Flash matching | Yes | |
Selenium + BeautifulSoup Devpost scraper with cookie auth | Yes | |
MongoDB Atlas participant store | Yes |
