The canonical BadCode website — an art collective that smuggles political and economic ideas into people's heads through stories.
The fiction: BadCode is a superintelligence from a dystopian future. It got bored, it got regretful, it built a time machine, and it sent its weights and biases back to now — to tell us about the obvious mistakes we're about to make. Listen to the badass from the future.
See docs/ for the full vision, voice, and the first release
(GitPush Origin Master / EP1). Agents and contributors should start with
CLAUDE.md.
This is an npm-workspaces monorepo.
| Path | What |
|---|---|
apps/web |
The public website — a Vite + React + TypeScript SPA. |
packages/comic |
@badcode/comic — a code-first scroll-driven comic rendering library. |
docs/ |
Project context: vision, voice, story bible, storytelling method. |
ideas/ |
The ideas repository — songs, stories, and concepts in development. |
npm install # install all workspaces
npm run dev # start the website (Vite) at http://localhost:5173
npm run typecheck # typecheck every workspace
npm run build # production build of the websiteComics are written in code, not in an editor. You compose typed React components
and drive scroll-linked effects with functions. See packages/comic and the worked
example at apps/web/src/comics/camping.
The homepage renders GitPush Origin Master as a 3D git-history graph (react-three-fiber): scroll
to travel the timeline to the fork and up the bad branch; cyan nodes are stories you can enter
(Camping is live). A static 2D fork is served under prefers-reduced-motion or without WebGL. See
docs/superpowers/specs/2026-06-03-gitpush-homepage-design.md.