██████╗ ██████╗ ██████╗ ███████╗ ██╗ ██╗██████╗ ██████╗ ██████╗ ██████╗ ██████╗ ██╔════╝██╔═══██╗██╔══██╗██╔════╝ ██║ ██║██╔══██╗██╔══██╗██╔══██╗██╔═══██╗██╔══██╗ ██║ ██║ ██║██║ ██║█████╗ ███████║███████║██████╔╝██████╔╝██║ ██║██████╔╝ ██║ ██║ ██║██║ ██║██╔══╝ ██╔══██║██╔══██║██╔══██╗██╔══██╗██║ ██║██╔══██╗ ╚██████╗╚██████╔╝██████╔╝███████╗ ██║ ██║██║ ██║██║ ██║██████╔╝╚██████╔╝██║ ██║ ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚═════╝ ╚═════╝ ╚═╝ ╚═╝
Peer Code Review. No dashboard. No bureaucracy. Just code.
CodeHarbor is a peer code review matching engine. Login with GitHub, find repos that match your stack and skill level, submit reviews, earn karma. No project management. No bureaucracy. Just code review.
- Smart matching — repos filtered by language + difficulty, sorted by relevance
- Karma system — transaction-logged reputation (not a counter), fully auditable
- GitHub OAuth — one-click login, zero password management
- Dual-mode — localStorage for offline dev, Supabase for production. No code changes, just
.env - Terminal aesthetic — OKLch color system, monospace accents, GSAP rain
- Interactive ASCII — hover-scramble artwork on the login screen
╔══════════════════════════════════╗
║ Screenshot here ║
║ (add one after deployment) ║
╚══════════════════════════════════╝
npm install
npm run dev # → localhost:5173
npm run build # Production build (83 modules, ~263ms)
npm test # 23 unit tests
npm run test:e2e # Playwright E2E (4 pass, 1 skipped)| Mode | Persistence | Auth | Setup |
|---|---|---|---|
VITE_AUTH_MOCK=true |
localStorage | Instant login (4 mock users) | Zero — works out of the box |
VITE_AUTH_MOCK=false |
Supabase (Postgres) | GitHub OAuth (PKCE) | Create Supabase project, set .env |
src/
├── App.tsx View routing + data orchestration
├── context/AuthContext Auth state (mock ↔ Supabase)
├── services/ Dual persistence layer + matcher + types
├── components/ 18 components, terminal-themed
├── styles/ OKLch tokens + BEM component CSS
├── data/ Mock repos (8), activity (6), checklist (6)
└── types.ts All TypeScript interfaces
supabase/
├── schema.sql 4 tables + RLS + triggers
└── SETUP.md Setup guide
React 19 · TypeScript · Vite 8 · Supabase (Auth + Postgres)
Playwright · Vitest · GSAP · OKLch color space
- ✅ Phase 1 — Vite + TypeScript migration, 18 components
- ✅ Phase 2 — Auth, karma, matcher algorithm, preferences UI
- ✅ Phase 3 — Supabase backend, GitHub OAuth, dual-mode persistence
- ✅ Phase 4 — 23 unit tests, 4 E2E tests
- ⏳ Phase 5 — Vercel deployment
Every code review tool is a project management suite with a review feature bolted on.
CodeHarbor flips it: review first, nothing else.
If this is useful, star the repo. It's the only karma that matters.