Essays, records, guides
Writing
Writing
Start here.
Building things
How I work
Product decisions
Ideas and experience
Essays
-
I get bored. I still ship.
Press is a pleasant detour, Studio keeps moving, and I don't confuse needing variety with being unable to focus.
-
Before an AI image reaches a live store
Studio's publishing checks have to account for changed permissions, lost responses and the difference between an internal receipt and actual Shopify state.
-
Why I don't kill side projects
Small software can be worth maintaining even when it never becomes a company.
-
The title was fuzzy. The responsibility wasn't
I spent years coordinating developers, marketers, priorities, and execution across internet businesses without a title that explained the job.
-
Cosplay AGI
One of my agent skills is triggered by 'cosplay AGI'. The joke is useful because the model alone is never the whole system.
-
What I actually do all day
One Saturday produced 31 pushes across three repositories. This is what I was doing while agents wrote the code.
-
Why every agent rule has an incident
Most rules in my agent skills folder exist because ignoring them already damaged real work.
-
Anything an agent fleet can rebuild in a quarter is not a moat
Studio took seven months to build. That made one product question unavoidable: which parts would still be difficult for a competitor to reproduce?
-
Two theories of a programmer
One programmer writes the code. Another directs agents that write it. The second job moves more attention into specification, verification, and product judgement.
How the work happened
Build records
-
Press: a pleasant detour into desktop software
Zed made me want to try GPUI. Press gave me a folder of images to work on. A personal detour into Rust, responsive interfaces and an app still finding its shape.
-
What an image auditor can actually measure
Building the ImageGuide extension meant separating a downloaded image from its uses, and measured bytes from estimated savings.
-
The tests passed. On which commit?
VibeQ accepted an agent's commit and test report as text. The closeout now checks those claims against the actual pull request head.
-
Adding a paid product without losing the random button
Earth Roulette gained airport-based trip suggestions and a paid membership path. The homepage still had to let people spin for a destination.
-
59 of my WebP files were PNGs
The first Press audit found 59 PNGs hiding behind WebP filenames on my own image-optimization site. I checked the historical files again.
-
The bay outside my window is a shader now
I saw a raymarched ocean on earendil.com and wanted one. Now my homepage draws the bay I live on, and Lighthouse taught me who browses without a GPU.
-
How improve-codex works
A codebase audit becomes reviewed plans, isolated Codex worktrees, and implementation branches that still require a human merge decision.
Practical reference
Technical guides
Earlier work
Older archive
-
Optimising a Vue/Nuxt site with Sirv
How I handled responsive images, lazy loading, CDN delivery, placeholders, and media galleries on Sirv Experts.
-
Actionable ways to help Ukraine
Ways to support Ukraine, with direct links to military, medical, humanitarian and animal-welfare organisations.
-
9 practical ways to increase Shopify sales
The original article was posted on Sirv’s blog Archived Sirv article from 2020. Product screenshots, app recommendations, prices and statistics describe that period. Google …
-
Image SEO for E-commerce
Update, July 2026: I checked this advice again seven years later. Read Image SEO in 2026: what changed since 2019 for the current version. The original article was posted on …
-
Image personalisation: examples and implementation
The original article was posted on Sirv’s blog Archived Sirv article from 2018. I wrote this in Sirv’s voice, so “we” and “our” refer to Sirv. …