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 detour. Studio keeps moving. Needing variety is not the same as being unable to focus.
-
Before an AI image reaches a live store
An AI image can look perfect and still be unsafe to publish. Here is what Studio checks before it writes to a merchant's Shopify store, and what I ask Shopify directly.
-
Why I don't kill side projects
Small software can be worth maintaining even when it never becomes a company.
-
My job title was fuzzy for years
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'. It started as a joke. Then I noticed it was an accurate name for what I built.
-
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.
-
Every agent rule is scar tissue
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?
-
The programmer who stopped typing
One programmer writes the code. Another directs agents that write it. The second job is mostly specification, verification and product judgement. It also leaves juniors without an obvious way in.
How the work happened
Build records
-
Stitch Puzzle: I read 3,600 reviews before I wrote a line
A cozy thread puzzle built from what players hate about its competitors: solver-checked levels, no forced ads and a real cross-stitch chart for every picture. Now on Google Play, three and a half days after the first commit.
-
Press for iPhone: report savings honestly
Phone cleaner apps sell fear and weekly subscriptions. Press for iPhone is now on the App Store: it compresses photos and videos on the device, asks before it deletes anything and charges once.
-
Ortholinear: a keyboard for big thumbs
iOS won't let you resize its keyboard, so I built one you can. Ukrainian and English, straight rows, 72 pt keys and no Full Access. Ten days from first commit to the App Store, then a paid Pro tier a month later.
-
My most typed prompt is "go on"
I mined about 4,300 of my own Codex prompts to decide what a 12-key macro pad should type. "go on" won, 269 times.
-
The app rewrite turned into a backend audit
Earth Roulette's iOS app was a webview wrapper. Rebuilding it in SwiftUI meant calling every API directly, and that is how I found faults the website had been living with for months.
-
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
-
Optimizing 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 personalization: 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. …