A personal browser-based leetcode practice tool with built-in Claude AI coaching. Single-user, runs on localhost.
Spec + architecture only. No implementation yet.
- SPEC.md — user flows, scope, open questions.
- ARCHITECTURE.md — module layout, auth flows, run/submit, data model.
- AGENTS.md — rules for AI coding agents working on this repo.
A localhost web app for daily leetcode practice:
- Pick a problem from a daily queue and code in an in-app Monaco editor.
- Run and submit against leetcode's real judge using cookie-based auth (the same approach most third-party leetcode tooling uses).
- A Claude AI panel runs alongside, scoped to the day, that you can talk to about your solution. Backed by your Claude subscription via OAuth.
- Sessions accumulate as markdown logs on disk, one file per day, so the practice history is yours and grep-able.
- Next.js 15 (App Router) + TypeScript
- Tailwind 4
- Monaco Editor
- Anthropic SDK with OAuth 2.1 PKCE
- Leetcode session-cookie auth (paste-from-browser)
- File-based persistence + sqlite for run/submission history
Once implementation lands:
pnpm install
pnpm devThen complete the auth bootstrap (Claude OAuth + paste leetcode cookie). See SPEC.md §Auth bootstrap.
The on-disk data directory (logs, tokens, sqlite) defaults to ./data inside this repo. Override with the LC_UI_DATA_DIR env var to put it anywhere — useful if you want logs in a separate, dedicated directory or synced via a cloud drive.