Writing & build logs.
Essays on software development, web builds, and AI tooling. Plus build notes from what I'm actually working on right now.
We captured thirteen GCP screenshots in one sitting. The OAuth console had changed while we weren't looking.
Chapter 2 of the GSC + GA4 automation course needed thirteen screenshots of the Google Cloud project setup flow. The session that produced them found that the OAuth consent screen had been redesigned since the prose was written — and showed why that kind of discovery only happens in a live browser, not a mockup.
Chapter 2 had thirteen screenshots and one OAuth rewrite. The three architecture decisions explain both.
The Google Cloud setup chapter of the GSC+GA4 automation guide forced three architectural calls before any screenshot was captured. Then Google redesigned the Auth Platform UI and the OAuth section had to be rewritten. This is what the decisions looked like at runtime.
Six YMYL pages were unknown to Google. The technical audit came back clean.
An ultracode review of five legal pages and the stamp duty calculator found no technical blockers — HTTP 200, correct directives, canonical self. The pages weren't stuck because of markup. They were stuck because Googlebot had no editorial reason to visit.
The first visible change to /learning/ arrived after the tests, the breadcrumb, and the JSON-LD
P2 of the learning-hub navigation was the first thing a visitor could see. By the time it shipped, the repo already had 37 passing fixture tests, a semantic breadcrumb, and a data model — none of it visible. The spec changed what shipped first, which changed what was easy to skip.
Bass amplitude into a radial alpha mask: audio reactivity as compositing, not particle spawning
Most audio visualisers route frequency data into particle spawn rates. Routing bass amplitude into a radial alpha mask between two panoramas is a different model — one where the music reveals a scene rather than decorating it. This is audio reactivity as a compositing problem.




