A local-first web app that teaches all 20 core algorithm patterns for coding interviews. It ships 234 fully-worked problems with C# solutions, tracks your practice with spaced repetition, and drills you with a built-in code editor, per-problem explanations, and direct LeetCode links.
This image serves the production build as a static PWA behind nginx. Everything runs in the browser — no account, no backend, no external network calls except opening LeetCode.
docker run -d -p 31337:80 --name algoforge majdalkayyal/algoforge:latest
Then open http://localhost:31337.
Pick any host port you like:
docker run -d -p 8080:80 majdalkayyal/algoforge:latest # http://localhost:8080
Or with Compose:
services:
algoforge:
image: majdalkayyal/algoforge:latest
ports:
- "31337:80"
restart: unless-stopped
| Exposed port | 80 (nginx) |
| Base | nginx:1.27-alpine (multi-stage build from node:22-alpine) |
| Architectures | linux/amd64, linux/arm64 |
| Healthcheck | GET /healthz → 200 ok |
| Routing | SPA fallback — deep links like /problem/lc-1 resolve to the app shell |
The container serves hashed assets with a long immutable cache and keeps index.html / sw.js
no-cache, so app updates ship immediately while big bundles stay cached.
latest — most recent releasex.y.z — pinned version (e.g. 1.0.0)All user data (attempts, notes, review schedule, pattern drills) lives in the browser's IndexedDB. The container is stateless — nothing is persisted server-side, so no volumes are required. Back up your progress from Settings → Export data inside the app.
Built with React 18 + TypeScript + Vite, Tailwind CSS, Monaco Editor, and Dexie.js.
Content type
Image
Digest
sha256:4952bbf5b…
Size
21.6 MB
Last updated
3 months ago
docker pull majdalkayyal/algoforge