How it fits together
- 01Paste or .zip
- 02WASM formatter
- 03Comments
- 04Short link
- 05Ticks and replies
Review logic, not whitespace
Code arrives already formatted: clang-format for C++, C, Java and C# in any of the usual styles, Ruff for Python, gofmt for Go, Prettier for TypeScript and JSON. All of them are compiled to WebAssembly and load only for the language in use. A diff view shows exactly what the formatter changed.
Comments that say how much they matter
Five fixed levels: Blocker, Issue, Suggestion, Nit and Praise. Click a line number, Shift-click for a range, or select code and right-click to quote it or turn it into a suggested change.
One link, no accounts
Publishing gives a short link for the mentee and a private edit link for the mentor.
- The edit key sits in the URL fragment, so it never reaches the server's logs. The server stores only its SHA-256 and compares it in constant time.
- Links expire after 1, 7 or 30 days, or never.
- The mentee gets a progress bar, a checklist sorted blockers first, reply threads and a
.zipof the formatted project.
Iterations keep their place
Upload the fixed version, and every comment stays on its line: an LCS line diff maps each old line to its new place. The mentee's ticks and replies are merged back by comment id, so republishing loses nothing.
Stack
React 19 and Vite in the browser; Hono on Node 24 with the built-in node:sqlite and no build step for the server. Russian and English with proper plurals, down to the Telegram link preview. GitHub Actions deploys it with a key that can run exactly one script.