code review but it's a dopamine slot machine. an AI agent reads the whole change, then walks you through it like a Brilliant lesson โ quizzes, coins, combos, loot vaults, the works. you don't review the diff. you speedrun understanding it.
๐ช coins ยท ๐ฅ combos ยท ๐ฐ vaults ยท ๐ง quizzes ยท ๐
levels ยท ๐ฏ no cap
AI vibe-codes a PR in 4 seconds. you still have to understand it. and a raw git diff? unreadable. boring. zero dopamine. you scroll, your eyes glaze, you smash "Approve," you pray. ๐
Glassbox said nah. ๐
it spins up a LangChain deepagents agent that actually reads the whole change โ every file, every call site โ then becomes your hype tour guide. big picture first, then pokeable code, hover-for-lore, value-tracing animations, and a full gamified loop that makes your brain go brrr while you learn.
it is NOT a reviewer. NOT a linter. NOT a vibe-killing quality scorer. its only job: get the change into your head with maximum dopamine and minimum effort. ๐ง โก๏ธ
- ๐บ๏ธ big picture first โ plain-language what + why before a single line of code
- ๐ pokeable code โ hover any symbol for instant lore (what it is, where it came from, what it holds right here). tap to pin.
- ๐ฌ value tracing โ watch a value flow through the change, line glowing as you step. cinematic.
- ๐๏ธ depth dial โ one-line gist โ deep dive, with "go deeper โค" for a fresh on-demand investigation
- โ "wait, why this?" โ ask inline about any chunk, grounded in the real repo
- ๐ง quizzes + self-check โ active recall, Brilliant-style, so it actually sticks
- ๐ investigation trail โ see exactly what the agent read to explain each part
this is the part your brain is addicted to:
| ๐ฎ | what |
|---|---|
| ๐ช coins + XP + levels | earn for every insight, quiz, and trace. rank up: Intern โ โฆ โ Legend |
| ๐ฅ combos + crits | chain actions fast for multipliers, random ร2/ร3 crits, screen-shake, hype banners |
| ๐ฐ hidden vaults | coins locked behind "Decode" mini-games โ prove you get the code to crack 'em |
| ๐น๏ธ the Arcade | daily streak ๐ฅ, quests ๐ฏ, slot machine ๐ฐ, mini-games ๐ฎ, personal-best stats ๐ |
| ๐ฎ learning games | Order the Flow ยท Match Up ยท Fill the Blank โ built from the actual PR |
| ๐งฐ loot chests | master a section, pop a chest, win a random jackpot |
| ๐ธ buy the verdict | you can't just approve. you cash out coins to unlock the final Approve / Request-changes โ earned, not free |
tl;dr: it's a casino, but the house always wins by making you understand the code. ๐ฏ
grab a prebuilt installer from the Releases page:
| platform | file |
|---|---|
| ๐ macOS | Glassbox-*-mac-*.dmg (Apple Silicon + Intel) |
| ๐ช Windows | Glassbox-*-win-x64.exe (NSIS installer) |
| ๐ง Linux | Glassbox-*-linux-x86_64.AppImage |
every push to main ships a fresh build via GitHub Actions, and the app auto-updates itself in the background (Windows + Linux). on macOS, auto-update is off until the build is code-signed โ pull the latest .dmg to update.
first launch is unsigned, so the OS will warn you: macOS โ right-click the app โ Open; Windows โ More info โ Run anyway.
npm install
npm run dev # ๐ launches the Electron appbuild installers yourself:
npm run pack # unpacked app in dist/ (fast, for testing)
npm run dist # full installers for the current platformthen: drop a repo ๐ โ pick the matchup โ๏ธ (base ๐ feature) โ let's gooo ๐
npm run build # production build (out/)
npm run typecheck # tsc for main + rendererrequirements: Node 18+ (built on Node 26) ยท a local git repo with two branches ยท an LLM provider (below).
set it in Settings (โ) inside the app:
| provider | needs |
|---|---|
| ๐ฃ OpenCode Zen (the default sauce) | key from opencode.ai/auth โ OpenAI-compatible gateway |
| ๐ Anthropic | ANTHROPIC_API_KEY env var, or paste a key in Settings (claude-opus-4-8) |
| ๐ข Ollama (local, no key, zero cost) | Ollama running at localhost:11434 + a code model pulled |
| ๐ก Amazon Bedrock | AWS region + creds (or default chain) |
| ๐ต Google Vertex AI | GCP project + location + ADC |
๐ keys live only in the main process. the renderer never sees them. we're not weird about your secrets.
broke but based? install Ollama,
ollama pull qwen2.5-coder, pick Ollama, run infinite reviews for free. plus there's a prefetch toggle that cooks the next section in the background while you play โ perfect for local. ๐งโ๐ณ
single Electron + TypeScript codebase. no Python sidecar. three layers:
| layer | path | job |
|---|---|---|
| ๐ง Main (Node) | src/main/ |
git ingestion, the deepagent, LLM providers, secrets, IPC |
| ๐ Preload | src/preload/ |
typed window.glassbox bridge (context-isolated) |
| ๐จ Renderer (React) | src/renderer/ |
the entire interactive walkthrough + game UI |
- ๐ค agent โ
deepagents(createDeepAgent) on LangGraph, reading the real checked-out repo with sandboxedrepo_*tools (read_file,grep,glob,ls,diff), bounded by a per-section file budget. every section comes back by callingsubmit_walkthrough_sectionโ a Zod schema. all structure from tool-calling, never model-emitted JSON text. work is lazy: a section generates only when you open it. - ๐ฟ diff โ
simple-gitcomputesbase...feature;parse-diffstructures it. - โจ code โ
shikitokenizes (JS regex engine โ renderer CSP blocks WASM); inline explanations get mapped onto tokens to make them pokeable. - ๐ฎ game state โ
zustand+ localStorage; SFX via the Web Audio API (no asset files, CSP-safe).
any repo with two branches works. spin a scratch one:
mkdir /tmp/demo && cd /tmp/demo && git init
# commit a base on main, branch off, make some changes...pick /tmp/demo, compare main ๐ your-feature, and let's gooo. ๐
- ๐ฅ input: local git repos for now. GitHub/GitLab PR-URL ingestion is deferred โ the ingestion layer is isolated in
src/main/git/so it's easy to bolt on. - ๐พ walkthroughs + your coverage are cached per
(repo, base, feature), so reopening is instant.
built different. review different. ๐ฎ
stop approving code you don't understand. start maxxing. ๐ง ๐