SkillMatch is a web platform that helps students and developers find hackathon teammates based on shared interests, skills, and project goals. Think of it as “LinkedIn meets Tinder for hackathons” — users create profiles with their skillsets, interests, and past projects, then get matched with compatible teammates via a smart recommendation engine powered by GraphQL.
-
Create/edit profiles with:
- Name, email
- Skills (tag-based)
- Project interests (AI, web, mobile, etc.)
- Time availability (weekend-only, full-time, etc.)
- Past hackathon experience
- GitHub/portfolio links
-
GraphQL query finds top N compatible teammates using:
- Shared skills
- Shared project tags
- Time availability match
- Mutual likes (like Tinder-style)
- One-on-one chat between matched users
- Live updates using WebSockets (Apollo Subscriptions)
- Browse other users
- “Like” profiles
- Filters for skills, tech stack, hackathon type
frontend: Next.js (on port 3000)backend: Apollo Server (on port 4000)db: PostgreSQL (on port 5432)- All running via
docker-composefor isolation
┌────────────┐ GraphQL ┌─────────────┐
│ Frontend │ ◀──────────────▶ │ Backend │
│ (Next.js) │ Apollo Client │ Apollo GQL │
└────────────┘ │ + Prisma │
▲ └─────▲───────┘
│ │
User Input PostgreSQL
│ │
Tailwind UI Users, Skills,
│ Projects Tables
▼ ▼
─────────────────────────────────
Docker Compose Network
##General Notes
docker-compose up -duse this to run the serversdocker-compose up --builduse this to build newest versionsdocker-compose logs [folder name]use this to detect log errors
Running Locally for Frontend and Backend and DB:
- db:
docker-compose up postgres - backend || frontend:
npm run dev