inCamp
LiveA matchmaking platform for university students to find teammates, co-founders and small paid tasks.
Full-stack: backend, frontend and deployment
Onboarding: profile, skills and working style used for matching
Public profile with projects, skills and open bounties
Project page in dark theme
Posting a bounty: a small paid task
What I built
- Async FastAPI backend on PostgreSQL. People and projects are matched with semantic search over pgvector embeddings.
- Real-time updates over WebSockets with Redis Pub/Sub. Redis also handles caching, rate limiting and short-lived WebSocket auth tickets.
- Next.js 16 frontend in four languages (EN, DE, RU, ZH), installable as a PWA, with light and dark themes.
- Runs on Docker Compose behind Caddy, which handles HTTPS and routes /api, /ws and /docs. Schema changes go through Alembic migrations.
- Transactional email through Brevo in production and Mailpit locally.
Tech stack
Backend
- Python
- FastAPI
- SQLAlchemy 2 (async)
- PostgreSQL
- pgvector
- Alembic
Frontend
- Next.js 16
- TypeScript
- Tailwind CSS 4
- shadcn/ui
- Zustand
- Framer Motion
Infrastructure
- Docker Compose
- Caddy
- Redis
- WebSockets
- Brevo