Day 8 · Wednesday 9 September 2026 · RTA 307

Build I

A full day of making. The spec is locked; today it becomes a thing that makes sound on a phone. The only deadline: at 13:00, everyone demos whatever exists — broken is fine, invisible is not.

10:00 build 13:00 standup — broken demos welcome 14:00 build + 1-on-1s 16:45 deploy & commit ritual 17:00 end
By the end of today

Start From the Starter

Fork the instrument starter into your own editor account (open it, then File → Duplicate in the p5 editor after pasting — full instructions on the starter page). It already solves the plumbing you should not be spending today on: the start-gesture audio unlock, iOS motion permission, full-screen canvas, touch scaffolding, on-screen status. You write the instrument; the template holds the umbrella.

Build in this order

  1. Sound first, mute-proof second, looks last. A beautiful silent instrument is a poster.
  2. Core mapping on the laptop (mouse stands in for finger) — then deploy to the phone and re-tune the ranges. Fingers and mice have different geometries; what feels right under a mouse is often cramped under a thumb.
  3. One sensor at a time. Touch fully working before tilt joins; tilt before mic. Two half-wired sensors debug like eels.
  4. Deploy every 30–45 minutes — the ritual from Day 6. The phone is the truth; the laptop preview is a rumour.

13:00 — Standup

Two minutes per project, on the actual phone, through the monitors or held to the mic: what works, what doesn't, what you'll try next. Saying "it broke when I added tilt" out loud is not an admission — it is the fastest known debugging tool, and someone in the room has usually already fixed the same eel.

When It Breaks — the Usual Five

SymptomFirst suspect
No sound on the phone, works on laptop audio never unlocked: is userStartAudio() / Tone.start() inside a real touch handler? Also: the physical mute switch.
Tilt does nothing on iPhone the permission request isn't inside a touch, or was denied once — close the tab fully and reopen.
Page scrolls/zooms while playing a touch handler isn't returning false.
Crackles, glitches, dies after a minute too many voices/effects, or objects created inside draw()/loops — build once in setup(), reuse forever.
Sample won't load URL typo, or an HTTP link on an HTTPS page — copy the address from the assets folder exactly.

16:45 — The Evening Ritual

Before anyone leaves, per project: save in the editor · deploy to the phone · play it once through, however rough · note today's state in one sentence with a timestamp in your project log (the log becomes Friday's documentation — you are writing it already, a sentence a day).

Tonight

Rest your ears — genuinely. Tomorrow is tuning day, and tuning needs fresh ones. If you must do something: play your instrument for one more stranger and write down, with a timestamp, the first thing they tried.

Day 7← Sensors and Ensembles