Blog
Notes on building Style.it, game dev, AI, and the occasional thing about playing piano.
Building Style.it: every fit, on your face
Most fashion AI tells you what you would probably like. Style.it renders the fit on your actual face and lets your eyes decide. Here is the architecture behind showing instead of telling.
- 4 min readAIPersonal
The AI bubble, read from my commit log
One hundred and nine commits in this repo carry an AI co-author's name. Whether that is a bubble is a question about prices; the chores are real either way.
- 3 min readAISystems
Drafts are a security boundary
The blog's machine channel can create drafts and nothing else: published slugs 409, and publishing does not exist in its vocabulary. Capability design beats instructions.
- 3 min readEngineeringPersonal
The admin panel nobody sees
The most polished surface I have built has one user and no visitors. That is exactly why it deserved the polish.
- 3 min readEngineeringSystems
Forged cookies should fail quietly
A forged admin cookie could crash the request instead of failing it. The bug lived in the difference between string length and byte length.
- 3 min readEngineeringSystems
SEO for a name
Owning search results for your own name is an engineering project: one Person entity, repeated on every page, with nothing left to drift.
- 3 min readAIGames
Teaching the bot taste
The thumbnail bot keeps a per-game art direction, drafts its own lessons from my rejections, and learns nothing until I approve it. Taste should be a ratchet, not a drift.
- 3 min readEngineeringSystems
What a share link sees
Visit analytics for my share links mostly measured me and some bots. The useful number took three filters to find.
- 2 min readEngineering
I rebuilt a PDF viewer over a toolbar
The browser's built-in PDF viewer puts someone else's UI inside my share links, so I rendered the pages myself with pdf.js.
- 3 min readAIEngineering
The bot's default answer is no
Sharing my thumbnail bot with friends meant building tenants, credit budgets, and a default that grants nobody anything.
- 3 min readEngineeringSystems
2FA that can't lock me out
I wrote the TOTP code from the RFCs and built the state machine around one failure: me, locked out of my own admin panel.
- 3 min readEngineeringSystems
The site renders with the database down
Every public read on this site has a committed fallback, so a dead database degrades to slightly stale content instead of a blank page.
- 3 min readEngineering
npm won by forfeit
Three failed deploys in one evening taught me that the package manager production runs is not a preference. It is whatever survives the host's cage.
- 3 min readAIEngineering
Reviewing at machine pace
This repo got 38 commits in its first three days, most of them typed by a model. My actual job was reading every line, and the rules file is what made that possible.
- 3 min readEngineeringSystems
The spec came first
I wrote a design document for my own website before writing any code. It is mostly a list of things I am not allowed to do later.
- 3 min readAIStyle.it
The boring half of try-on
Try-on demos are the flashy half. The product lives on the catalog: garment detection, fashion embeddings, and an offline pipeline that turns store chaos into things you can actually try on.
- 2 min readPersonalMusic
Honest reps
A rep only counts if it is clean. That rule runs my piano practice, and it turns out to run my deploys too.
- 3 min readAIStyle.it
Seeing beats being told
Recommenders ask you to take their word. Style.it renders the fit on your own face instead, because evidence beats opinion and your eyes were always the judge.
- 3 min readGamesRobloxSystems
A datastore write is a claim, not a fact
Player data patterns from a billion plays: session locks, idempotent grants, and treating every write as unproven until something observes it.
- 6 min readGamesRobloxSystems
What a billion plays teaches you about systems
Scaling a Roblox studio past a billion lifetime plays is less about clever code and more about systems that refuse to break under load.
- 4 min readPersonalMusic
The engineer who plays
On building software people touch a billion times, then sitting down at the piano. Why the two aren't as far apart as they look.