Deciding what not to build
I spent a session in Olympus, the admin platform behind Frontlyne, building a library of reusable image styles that tenant apps can pull from. The interesting part wasn’t the code. It was everything I decided not to build.
The preset is just a library
The first plan was ambitious: Olympus would generate images for tenants at runtime, track a budget per tenant, expose a generate endpoint, enforce usage caps. It was a reasonable read of “build an image feature.” It was also wrong for us. The actual image generation lives in a different service. Olympus only needs to be the catalogue.
Saying that out loud, that the preset is just a library, took about fifteen seconds and removed roughly four files of code that would otherwise have needed maintaining, testing, and securing forever. That’s the lesson I keep relearning with agentic tools: the model will happily build whatever you let it build. The scarce resource isn’t implementation. It’s someone deciding what not to build.
State machines are cheaper than you think
I also pushed for a draft → published → archived workflow instead of presets being live the moment you create one. When you’re authoring a style, you rarely have all the answers up front; you want to iterate on the prompt privately, then publish deliberately. That cost a single save-time validation and a few actions, and it bought honest iteration without leaking half-finished work to tenants.
Identifiers in external paths are a one-way door
Last one: anywhere an identifier shows up in an external path (a storage key, an
upload parameter), use a stable alphanumeric code, not a database row id. Once
content lives at /preset/47/… you can’t rename it without rewriting URLs.
Switching to a code like IGP-0047 early was nearly free; switching later would
have been a migration.
None of these were the model’s failings; it caught real gaps too, like a missing super-admin override on the publish guardrail. But the through-line of the session was steering, not typing. That’s increasingly what the job feels like.