This paper traces the complete technical evolution of Aesthetic Computer (AC) through its git history, from a Glitch-hosted prototype in August 2021 to a 11,314-commit monorepo serving 337 interactive pieces. By examining four successive repositories, 50+ GitHub repos across two accounts, a 109GB legacy server archive, and a Dropbox archive spanning a decade of creative software practice, we reconstruct how a single artist-programmer's tools, prototypes, and creative instruments converged into a unified platform. The investigation reveals 94 predecessor projects (2007–2020) that directly inform AC's design philosophy: that software is a material for art-making, and that each tool an artist builds is a step toward a more complete instrument.
Aesthetic Computer did not begin as a monorepo. It evolved through four successive GitHub repositories, each representing a distinct architectural phase:
whistlegraph/system-ac — "My virtual computer system for loading and running disks."
The first commit was made on August 10, 2021 and immediately merged from Glitch, revealing that AC began as a Glitch remix. The repository contains 38 commits over four months, authored variously as "Jeffrey Alan Scudder," "Jeffrey Scudder," and "whistlegraph" — a trace of the identity consolidation happening in parallel with the code.
The initial architecture was minimal: a single boot.js entry point, a bios.js runtime, and a library of modules including disk.js, geo.js, graph.js, pen.js, speaker.js, and a sound system with sine and square wave generators. The metaphor was already established: a computer that loads and runs disks.
Key development milestones in this period:
| Date | Milestone |
|---|---|
| Aug 10 | Initial commit, merged from Glitch |
| Aug 14 | Setup offline development environment |
| Aug 18 | "Finish basic metronome and square instrument" |
| Sep 1–2 | Attack, decay, volume, pan for square waves; named parameters |
| Oct 20 | "Add basic triangle rasterization and 3d environment" |
| Oct 30 | "Complete first animated notation piece" — disks.aesthetic.computer host added |
| Nov 2 | "Pull" prototype: a touch-based interactive drawing system |
| Nov 8 | Custom resolution support, alpha blending, consolidated boot |
| Nov 28 | Pen refactored from singleton to class — a pivotal API design decision |
| Dec 7–8 | Grid rendering and interaction |
| Dec 12–16 | JSON-serialized drawings, tracker disk, scrollable score |
| Dec 17 | "Contextualize painting api so that makeBuffer now makes a new painting" |
The dev server ran on port 8080 with self-signed SSL certs — HTTPS was required from day one, likely for WebRTC and audio APIs.
whistlegraph/disks-ac — "A bunch of disks that are compatible with the 'whistlegraph/system' repo."
This companion repository held the creative content separately from the runtime. Its package.json reveals the coupling: "system": "file:../system" — the disks imported system as a local dependency. The dev server ran on port 8081, one above system.
The 12 original disks represent AC's founding creative vocabulary:
| Disk | Purpose |
|---|---|
| prompt.js | Command-line text input — the system's front door |
| doodle.js | Free drawing |
| plot.js | Grid-based pixel plotting with save/load |
| pull.js | Touch-interactive colored shape manipulation |
| stage.js | Musical notation performance space |
| starfield.js | Generative star animation |
| tracker.js | Scrollable music score/sequencer |
| whistlegraph.js | Whistlegraph playback/performance |
| metronome-test.js | Audio timing test |
| alex-row.js | A piece by/for Alex (Freundlich) |
| blank.js | Empty template |
| api.js | API demonstration |
Also preserved: old/worker-disk.js — evidence that a Web Worker-based disk execution model was attempted and abandoned early. The current system uses a worker-based "hypervisor" pattern, suggesting this early experiment was revisited later with more success.
whistlegraph/2022.aesthetic.computer — "Compute aesthetically."
On December 22, 2021, the system and disks repos were merged: "import sources from previous repositories", followed immediately by "rm disks duplicates." This was the first monorepo. The tagline changed from a technical description to a creative imperative.
This year-long repository captures AC's transformation from a personal instrument into a platform. Key architectural additions visible in the commit log:
The top-level tree at the end of 2022 reveals the platform's full scope:
whistlegraph/aesthetic-computer — the current repository.
The first commit: "Initial commit." The second: "copy all previous sources into the new repo; todos." The third: "first netlify deploy." Three commits in 35 minutes on December 23, 2022 — a fresh start on the same day the previous repo received its final commit.
As of March 2026, this repository contains 11,314 commits across 38 months. From the first 50 commits we can see the immediate priorities: Whistlegraph recorder infrastructure, Instagram in-app browser debugging (a recurring adversary), shader work on the prompt grain effect, and 3D geometry generation.
Key milestones traced through commit message searches:
| Feature | First appearance |
|---|---|
| Auth (Auth0) | Jan 5, 2023 — "start on user auth," "mock out login and logout commands for the prompt" |
| Session server | Jan 21, 2023 — Jamsocket-based real-time backends |
| KidLisp | ~Feb 2023 — "automatically run kidlisp tests," parameters, inline expression arithmetic |
| Multiplayer | ~Mar 2023 — "add multiplayer listings," "Add 1v1 multiplayer FPS game" |
| Tezos/NFT | ~2023 — "wip on tezos integration for kidlisp," later renamed from "NFT" to "keep" |
| notepat | ~2023 — "notepad -> notepat and scaffold beat" (the rename that became a product) |
| BIOS evolution | ~2023–24 — "implement version switching (default to legacy) in bios.mjs" |
| Mobile | Jan 2023 — "ios support for camera," "android text editing," "android flag to mobile camera" |
AC did not emerge from nothing. Cross-referencing two GitHub accounts (whistlegraph with 50+ repos and justanothersystem with 3 repos), a Dropbox archive, a 109GB legacy DigitalOcean droplet at bin-sc.jas.life, and Jeffrey's CV, we identify 94 predecessor projects spanning 2007–2020.
AC is, at its core, a drawing program. The lineage is clear:
Jeffrey also maintained a curated directory of web-based drawing tools (2017, hosted on Glitch as weird-drawing-tools.glitch.me) — a research document cataloging dozens of drawing programs including his own No Paint and thePRBAT alongside tools by others. This catalog represents the conscious study of drawing-software-as-medium that informed AC's design.
AC's real-time, multiplayer, and performance features trace to tools built for the Radical Digital Painting lecture tour and Goodiepal & Pals collaborations:
Even AC's infrastructure has predecessors:
The predecessor projects span an unusual range for a single practitioner: JavaScript (dominant), Ruby (Rails era), Swift (iOS), Java (Android shim), C (Mood Engine, BW-Flower), Rust (Rect), VimL (dotfiles), Processing (Traveller), Flash/ActionScript (thePRBAT), Lua (PICO-8), and TypeScript (later players). AC consolidates this polyglot history into a JavaScript-first platform with KidLisp as its embedded language.
From the first system-ac commit, the metaphor was "disks" loaded by a "system" with a "bios." This metaphor — borrowed from personal computing history — persists through all four repos. The rename from "disk" to "piece" happened during the 2022.aesthetic.computer period, aligning the technical term with the artistic one. A piece of software. A piece of music. A piece of art.
The prompt — a blinking text cursor where users type piece names — appears in the very first disks-ac repo as prompt.js. It later became notepat's keyboard and AC's primary navigation system. The prompt is not a command line; it is a musical interface, where typing a word like notepat is an act of recall and invocation, like humming a melody to find a song.
The system/disks split lasted exactly 4 months before being merged. The split reflected a conceptual distinction (runtime vs. content) that proved impractical. The merge happened twice more: into 2022.aesthetic.computer and then into the current repo. Each consolidation discarded git history in favor of a clean start — a deliberate choice to prioritize forward momentum over archaeological continuity, which is precisely what makes this reconstruction necessary.
Aesthetic Computer is not a project that began on August 10, 2021. It is the convergence of a decade of creative software practice — from thePRBAT (2011) through No Paint's five incarnations (2014–2020), through performance tools for Goodiepal & Pals, through a curated catalog of every web-based drawing tool the author could find, through a Rust rectangle game and a PICO-8 drawing cart and a Pebble smartwatch experiment, through 65+ lecture performances on the thesis that digital tools are painting's next material ground.
The git history reveals what manifestos cannot: the daily accumulation of decisions, the abandoned paths (worker-disk.js, the two-repo split), the convergences (system + disks → monorepo), and the renames that carry meaning (disk → piece, notepad → notepat, NFT → keep). Every commit is a brushstroke in the longest painting Jeffrey Alan Scudder has ever made.
"something composed in 30 minutes (like a whistlegraph!) could live for an eternity."
— Jeffrey Alan Scudder, Personal Statement: Core Beliefs
GitHub: whistlegraph/system-ac (38 commits), whistlegraph/disks-ac (30 commits), whistlegraph/2022.aesthetic.computer (~500 commits), whistlegraph/aesthetic-computer (11,314 commits). 50+ additional repos across whistlegraph and justanothersystem accounts. Legacy server: bin-sc.jas.life (162.243.163.221). Dropbox archive. CV and fact-check report from jas-software-history.txt.