Skip to content
All writing
Building6 min read

Designing Lumis OS: The Operating System for Building Products

Lumis OS is the operating system the studio runs on. It is a governed, measurable loop that takes an idea from plan to shipped through the same disciplined cycle every time: plan, build, review, validate, record. AI does the heavy lifting at each step, but the AI is not the interesting part. The loop is. I want to explain why I spent the time building the system around the work instead of just building the work, because that choice is the whole bet.

The problem it solves is the one every small team running multiple products eventually hits. Context, decisions, and quality controls scatter — across tools, across chat threads, across whichever person happened to be in the room. The thing that actually scales a studio is not any individual product. It is the operating system around the building, and in most small teams that operating system lives entirely in someone’s head. That is fine until that head is busy, asleep, or gone.

The loop is the product

Any single feature in any of the studio’s products can be rebuilt in an afternoon. What compounds is the system around the building: how work gets planned into buildable pieces, who reviews it, which gates it has to pass before it ships, and what gets written down when it does. That loop is the difference between shipping one product and being able to ship many without quality degrading as you add them. Most studios scale by adding people and hoping the new people absorb the unwritten rules. I wanted to scale by writing the rules into the system so the rules run whether or not anyone remembers them.

Concretely, every unit of work goes through the same cycle. It gets planned into a ticket with real acceptance criteria. It gets built. It gets reviewed — adversarially, by something that did not write it, against the criteria, not against vibes. It gets validated by gates that run the heavy checks. Then it gets recorded. Same cycle for a one-line fix and a new subsystem. The uniformity is the feature. When every piece of work has the same shape, you can reason about the whole, automate the boring parts, and trust the output without re-inspecting it by hand each time.

No event, no cycle. If the work did not leave a record, as far as the system is concerned it did not happen.

The files are the truth, not the chat

This is the rule that holds the whole thing together, so I will be blunt about it. The chat log is not the system of record. The files are. Every cycle leaves a schema-valid audit event on disk: which model ran the step, what it cost, whether it passed its gates, what it changed. The conversation that produced the work is disposable. The record of the work is permanent and queryable.

This sounds like bookkeeping until you see what it buys. A system whose truth lives in files instead of in a transcript can be inspected, measured, and — this is the part I care about — can improve itself without drifting. When the record is authoritative, the OS can look at its own history: which steps fail most, where cost concentrates, which kinds of tickets bounce at review. It hardens itself cycle by cycle off its own audit trail, because the audit trail is real data and not a vibe someone has about how things have been going. The day I made the files authoritative instead of the chat was the day the thing stopped being a clever harness and started being an operating system.

Cheap by default, careful when it counts

A loop that runs on every piece of work has to be cheap or it does not get run, and a control that is too expensive to run is a control that gets skipped. So routing picks the cheapest capable model for each step and reserves the expensive judgment for the work that actually needs it. Drafting, formatting, mechanical transforms — cheap. Architecture calls, adversarial review, anything where being wrong is costly — careful. The system spends its money where being wrong hurts and saves it everywhere else, the same way you would allocate a person’s attention.

Validation works on the same principle. Instead of checking a little at every step and paying that tax constantly, the heavy gates run once, near the end, and fix everything they find in a single pass. Fast where it can afford to be, disciplined where it has to be. The aim was never a system that is maximally careful everywhere — that system is too slow and too expensive to actually use, so in practice you stop using it. The aim was a system whose discipline is affordable enough that it runs every single time, because a gate you skip under deadline pressure is not a gate at all.

What it taught me about building anything

Lumis OS is in daily use, building and hardening itself one cycle at a time, and the deepest lesson is one I keep applying everywhere. The operating system around the work is worth more than the work. You can always rebuild a feature. You cannot easily rebuild the accumulated decisions, the quality bar, the record of why things are the way they are — unless you designed the system to capture them as a byproduct of doing the work. Make the record automatic, make the loop the same every time, and put the expensive care exactly where it pays for itself. Do that, and you get a studio that can ship many products reliably instead of one product heroically. That difference is the entire reason it exists.

AN

Andrew Nguyen

Technical Operations Manager

More writing