WORKING DRAFT — March 2026

Repository Archaeology: Tracing the Evolution of Aesthetic.Computer Through Its Git History

Jeffrey Alan Scudder — ORCID 0009-0007-4460-4913
March 2026 · Working Draft · papers.aesthetic.computer

Abstract

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.

1. The Four Repositories

Aesthetic Computer did not begin as a monorepo. It evolved through four successive GitHub repositories, each representing a distinct architectural phase:

4
successive repositories
11,314
total commits (current repo)
38
months of development
94
predecessor projects

1.1 system-ac (August 10 – December 17, 2021)

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.

public/ boot.js computer/ bios.js lib/ disk.js, geo.js, graph.js, help.js, loop.js, num.js, pen.js, speaker.js, ui.js sound/ note.js, sine.js, square.js, volume.js dep/gl-matrix/

Key development milestones in this period:

DateMilestone
Aug 10Initial commit, merged from Glitch
Aug 14Setup offline development environment
Aug 18"Finish basic metronome and square instrument"
Sep 1–2Attack, 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 8Custom resolution support, alpha blending, consolidated boot
Nov 28Pen refactored from singleton to class — a pivotal API design decision
Dec 7–8Grid rendering and interaction
Dec 12–16JSON-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.

1.2 disks-ac (October 30 – December 17, 2021)

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:

DiskPurpose
prompt.jsCommand-line text input — the system's front door
doodle.jsFree drawing
plot.jsGrid-based pixel plotting with save/load
pull.jsTouch-interactive colored shape manipulation
stage.jsMusical notation performance space
starfield.jsGenerative star animation
tracker.jsScrollable music score/sequencer
whistlegraph.jsWhistlegraph playback/performance
metronome-test.jsAudio timing test
alex-row.jsA piece by/for Alex (Freundlich)
blank.jsEmpty template
api.jsAPI 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.

1.3 2022.aesthetic.computer (December 22, 2021 – December 23, 2022)

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:

January 2, 2022
"Start working on a spray drawing tool for iPad & Apple Pencil"
First evidence of Apple Pencil pressure sensitivity. Same day: "Add iOS / macOS native shim."
January 5, 2022
"Get a basic IPFS demo working"
Web3/decentralized storage explored early.
January 7, 2022
"Consolidate disks into system"
The two-repo architecture was already a friction point after just 2 weeks of merged development.
January 10, 2022
"Begin working on prompt, wiring up the keyboard"
The prompt — AC's signature text interface — gets its keyboard input.
January 11, 2022
"Hook up microphone and start code path for video"
Audio/video input — the camera as creative input.
October 2022
"Revamp of pieces hypervisor / structural changes in worker messaging; fast switching between pieces"
The disk/piece execution model matures. Pieces can now transition instantly without page refresh.
October 24, 2022
"Meta Quest 2 keyboard updates / more HID work"
VR headset support — AC running inside a Quest 2.
November 2022
VR integration: "cadwand vr hello world," 3D wand tool, GLTF/GLB export
Full VR controller support, 3D model export. AC becomes a VR sculpting tool.
December 2022
"Complete ethereum login / connect flow"
Web3 authentication. Session server with Jamsocket backends. Live-reload dev tools.

The top-level tree at the end of 2022 reveals the platform's full scope:

system/ — Main runtime, Netlify deployment session-server/ — Real-time WebSocket backend (Jamsocket) socket-server/ — Additional socket infrastructure piece-server/ — Remote piece serving thumbnail-server/ — Screenshot generation (precursor to oven) stream/ — Streaming infrastructure storage/ — Data persistence layer apple/ — iOS/macOS native shim ethereum/ — Web3 integration digitpain.com/ — Artist identity site

1.4 aesthetic-computer (December 23, 2022 – present)

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:

FeatureFirst appearance
Auth (Auth0)Jan 5, 2023 — "start on user auth," "mock out login and logout commands for the prompt"
Session serverJan 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"
MobileJan 2023 — "ios support for camera," "android text editing," "android flag to mobile camera"

2. The Predecessor Projects

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.

2.1 The Drawing Software Lineage

AC is, at its core, a drawing program. The lineage is clear:

2011
thePRBAT — Polygon Replicating Bitmap Authoring Tool
Flash/SWF. Jeffrey's BFA thesis tool at Ringling College. Bitmap authoring through polygon replication.
2014
JeffreyPaint — "My paint program"
JavaScript web app + Unity port + macOS .dmg. (GitHub)
2014–2020
No Paint — "A picture-making instrument"
The constraint: you can only paint, never erase. Five incarnations across six years: Rails app (2014) → JS shim (2016) → WebGL prototype (2018) → iOS/Cordova (2019) → Vercel site (2020). Six repos: nopaint.org, no_paint_shim, nopaint, paint-prototype, nopaint-server. Live at nopaint.art.
2015
Mood Engine — "Maskware's MOOD Engine"
Native C application. (GitHub)
2015
Traveller
Processing → 3 standalone macOS .app builds. Generative/interactive piece with "full-mode, big-dot" and "half-mode" variants.
2016
Finger Quilt
iOS app in Swift. Quilting-as-drawing. (GitHub)
2017
Dot — "A dot plotting application"
JavaScript. (GitHub) — directly prefigures AC's plot disk.

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.

2.2 The Performance Software Lineage

AC's real-time, multiplayer, and performance features trace to tools built for the Radical Digital Painting lecture tour and Goodiepal & Pals collaborations:

2.3 The Infrastructure Lineage

Even AC's infrastructure has predecessors:

2.4 Languages Used Across Projects

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.

3. Architectural Patterns

3.1 The Disk/Piece Metaphor

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.

3.2 The Prompt as Interface

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.

3.3 Two-Repo to Monorepo

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.

4. Quantitative Summary

94
predecessor projects (2007–2020)
50+
GitHub repos (whistlegraph + JAS)
337
.mjs pieces in current repo
18
.lisp pieces (KidLisp)
76
lib modules
83
Netlify serverless functions
5
services (oven, session, silo, feed, grab)
109 GB
legacy archive (bin-sc.jas.life)

5. Conclusion

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

Sources

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.