My personal site. It behaves like a live shell session: it boots, settles, then
takes commands. help works; clicking works too.
It's deliberately low-tech: one React component, no terminal-emulator library, no CSS framework. Amber phosphor on near-black, no glow, no gradients.
npm install
npm run dev # http://localhost:3000
npm run check # oxlint + React Doctor + TypeScriptnpm run build
npm startAppend #cmd="<command>" to run a shell command after the boot sequence. For
example, /#cmd="3bp" opens the Three Body Problem game. Chained commands are
allowed, so /#cmd="cd projects && ls" works too.
Hash-launched commands cannot run open, xdg-open, or start, so shared URLs
cannot immediately navigate visitors away from the site.
This checkout uses .githooks/pre-commit as its Git hooks path. The pre-commit
hook runs npm run check and blocks commits until oxlint, React Doctor, and
TypeScript all pass.
- Next.js (App Router) + TypeScript
- React hooks for the REPL; component styles are inline, no framework
- Fonts: IBM Plex Mono (body) + Martian Mono (display), via
next/font - Vercel Analytics