Home/ Colophon/ Build story

Making-of · the timeline, gaps and typos included

How this got built

People asked how the site and tools were made — not the principles (that's the colophon), but the actual story: what got built, in what order, and where it wasn't tidy. It opens before commit 1 — a decade of CC Fest lineage — then follows the git history day by day. The timeline is real, gap and typos included.

§ 0 · Before the repo

a decade of lineage · 2016 → 2026

The git history starts on May 18, but the camp doesn't. It inherits a ten-year creative-coding festival, a virtual-workshop model, and a high-school course where these exact tools were first built and tested with students. Lineage drawn from the CC Fest archive and the project brief.

Two direct parents

The course

Generative AI as a Creative Collaborator

A 2025–26 Campbell Hall course co-taught by Saber Khan and Danny Gámez with a class of sixteen students. It runs language → image → video → a final film pitch — the same arc this camp uses — and its defining idea is prompting as experimental design: change one variable, compare outputs, treat the artifacts as evidence. That is, almost verbatim, the camp's investigation method. The first working versions of ELIZA-vs-LLM, the Default Test, and the Temporal Telephone were built and pressure-tested with those students before any of them became a public tool.

The camp

CC Fest Coding Camp

Four iterations in eighteen months — a 10-session Fall 2024 prototype, compressed to five sessions, then reshaped into a designed learning community, then a community of practice by Spring 2026. It supplied the whole operating model: a two-hour Zoom around 2–4 featured tools, a guest, a participant share, assignment tiers, Notion recaps, and recordings by Sunday. Learning Machines keeps the machinery and swaps p5.js coding for ML investigation.

The most honest piece of the origin: the no-AI pathway and the consent protocol aren't decoration. Spring 2026 feedback was clear that the camp's AI use had grown faster than the consent infrastructure around it — a participant raised real concerns about data, artist labor, naming people accurately in recaps, and being able to opt out. The ethics layer in this repo is a direct response to that criticism, not an afterthought bolted on at launch.

§ A · By the numbers

27 days, start to launch-ready

§ B · The timeline

commits per day · 2026 · generated from git log

Every bar is one day. The flat middle is the two-week stretch where nothing was committed — the tools were being piloted, not coded. Two bursts bracket it: the first three days of tool-building, and the four-day run that turned tools into a field manual and then a camp instrument.

§ C · Six acts

tools → site → field manual → identity → instrument

§ D · Ideas & techniques

the interesting methods, with the evidence

A few methods did most of the work and are worth naming on their own — some about building with AI, some about building so it lasts.

§ E · How it's built

no build step · static HTML · GitHub Pages

The architecture is deliberately boring so it survives a live session and outlives the camp: every tool is a single self-contained HTML file, a thin shared assets/ layer gives them one look and a few data files, and the whole thing is static — no bundler, no accounts, no server.

SURFACES · one HTML file each 25 tools/single-file + inline JS 53 pages/sessions · console · home 5 worksheets/printable boards 34 docs/ (md)briefs · plans · facilitation SHARED · assets/ (~976 lines JS, one CSS system) field.css · field-*.cssone design system · 4 skins via field-theme.js session-runs.js · tools-data.js · build-history.jsdata drives the pages recap.js · projection.js · worksheet-export.js GitHub Pagesstatic · no build step · no server

§ F · The look, in three moves

cream → dark-first → four switchable skins

The visual identity changed twice. The original tools were warm cream paper. The redesign went dark-first with a shared system. Then identity arrived: one switcher that flips the whole site between four looks, persisted per visitor.

Phase 0 · Paperwarm cream, per-tool inline CSS
Redesign · Dark-firstone shared design system
Identity · Terminalone of four switchable skins
Identity · Acidfixed later to pass WCAG AA

§ G · The AI footprint

a rough, honest estimate · big error bars

This camp asks people to make AI's costs and mechanisms visible, so it owes the same of itself. Here is a deliberately rough accounting of the AI used to build the site and tools. Every number below is an order-of-magnitude estimate — the honest answer to "how much AI did this take" includes "we can't measure it precisely, and here's why." That uncertainty is itself one of the camp's lessons.

Tokens, very approximately

What that might cost the world

What this does not count

The big number is elsewhere

This is inference only — the cost of using the models. It excludes the enormous one-time cost of training them (orders of magnitude larger, but shared across billions of queries, so any one project's slice is tiny — yet real), the carbon embodied in the hardware, and the energy of the human side (laptops, network, a month of someone's attention). The ChatGPT/Codex and Notion figures are near-guesses; only the Claude side is estimable from inside this tool, and even that is fuzzy because cached context muddies any token count.

Limitations & other impacts

The footprint isn't only carbon

Providers rarely publish per-query energy, so public estimates vary 10–100×; the need to guess here is the real finding. Beyond energy and water there's the human labour behind the models (data annotation, RLHF), and the data provenance question — training sets include creative work used without consent, the same artist-labour and consent issue the camp foregrounds elsewhere. And the trap of scale: each query feels free, while the aggregate is a data-centre build-out. Individual negligibility plus collective magnitude is exactly the pattern worth teaching.

How to read these numbers: not as "see, it was cheap," and not as alarm — but as a worked example of the camp's own method. Make the invisible visible, show the assumptions, state the error bars, and refuse to pretend a confident figure is the same as a correct one. If you can find better data, the estimates live in one file (assets/build-history.js) and are meant to be revised.