Product
System design for client delivery
Client delivery as a system design problem
The brief lands in someone's inbox
There is a moment every services engagement shares, regardless of discipline or price point. A brief lands. Someone reads it. And for a short window, the whole shape of the work is still undefined. Still possible.
What happens in the days and weeks after that moment is what client delivery systems are actually trying to manage. Not the document. Not the contract. The interpretation of intent into action, and the hundred small decisions that follow.
Most studios handle this through habits, templates and the judgement of whoever is running the project. That works until it doesn't. It stops working when the team grows past two or three people, when multiple projects run in parallel, when clients start asking questions that no one individual can answer from memory. At that point, the system either exists or it becomes a liability.
TUXX was the environment where these questions became concrete. Running custom builds and AI systems work for clients meant living inside the gap between what a good delivery process should look like and what we could actually operate. The design thinking here grew out of that gap.
What a brief is, structurally
A brief is not a spec. A spec describes outputs. A brief describes a problem from the client's vantage point, filtered through their vocabulary, their politics and their assumptions about what is technically possible.
The job of intake, the translation from brief to kickoff, is to convert that into something the team can actually execute against. Most of what gets lost in delivery gets lost here. The brief said "something like X." The kickoff assumed X. The delivery produced X. The client wanted something adjacent to X that the brief had only implied.
A good system does not eliminate this gap, and nothing can, but it makes the gap visible before work begins rather than after it is finished. The intake process should surface ambiguity, not paper over it. The questions that feel awkward to ask in week one become expensive to answer in week six.
In practice this means structuring intake around decision points, not around deliverables. What will success look like at completion? What are the constraints that cannot move: timeline, budget, specific outputs? What does the client most fear getting wrong? What do they most want to avoid hearing from their own stakeholders?
These questions feel qualitative. They are. But they feed a data model, and that data model is what drives the rest of the system.
The data model underneath
Every delivery system has a data model, whether it has been designed or not. In an undesigned system, the data model lives in someone's head, or spread across a mix of emails, Notion pages and Slack threads. The information exists, but it is just not queryable, not auditable, not transferable.
A designed delivery system makes that model explicit. At its core it needs a handful of things: the originating brief and its key decision points; the scope as agreed at kickoff; the live status of work in progress; the open items requiring client input; the history of decisions made and by whom; and the completion criteria against which delivery is eventually measured.
That sounds like project management software. It is not quite the same thing. Standard project management tooling is optimised for task completion: the movement of cards from one column to another. A delivery system optimised for client work has to track something different: the alignment between what was agreed and what is being produced. Task completion is a proxy for that, but it is not the same thing.
When scope creeps, for example, it does not usually show up as a card on a board. It shows up as a conversation, a small addition, a request that felt minor at the time. A delivery system designed to catch scope drift needs to track changes to the agreed brief against the originating intent, not just the movement of tasks.
This is what we mean by a data model with opinions. The model should be shaped by the things that most commonly go wrong.
What a good system surfaces
A well-designed delivery system is selective about what it makes visible.
At the project level, it should be possible at any moment to see: where the work is relative to agreed milestones; what decisions are open and who owns them; what has changed from the original scope and when; and what the client has approved so far.
At the operational level, it should surface the early signals that a project is developing problems. A decision that has been open too long. A milestone approaching with no client review scheduled. A change request that has not been formally acknowledged. These are the precursors to the difficult conversations, and catching them early changes the nature of the conversation entirely.
What a good system does not do is surface everything. One of the consistent failure modes in delivery tooling is that it treats completeness as a feature. Every detail, every sub-task, every message thread, every file version: all of it surfaced, all of it requiring attention. The result is that nothing gets the attention it deserves, because the signal-to-noise ratio is too low.
Good system design in this context means deciding what not to show. The client does not need the internal task breakdown. The person running the project does not need to see every file revision, only the ones that changed something that was already approved. The stakeholder reviewing the work needs context, not comprehensiveness.
This is harder to design than it sounds. Hiding information requires confidence in the model. If you are uncertain whether something matters, the instinct is to include it. The discipline is to make those judgements in the system design, not leave them to whoever is running each individual project.
Standards without the bureaucracy
There is a failure mode on the opposite end of the spectrum from under-documented chaos: the over-engineered process that nobody actually follows.
Studios that have been burned by delivery failures often respond by adding process. A new handover form. A mandatory checklist before kickoff. A sign-off requirement at every stage. These feel like fixes. They are often symptoms: they indicate that the underlying system is not trusted, so the process is compensating through weight.
When a team skips a check because the checklist feels like friction, the checklist is not working. When a project lead files the form but does not change their actual behaviour, the form is not working. Process that exists separately from the work rather than being embedded in it rarely survives contact with a real deadline.
The principle we came back to at TUXX was standards without bureaucracy, which means encoding the important things in the structure of the system rather than in a layer of forms and approvals on top of it. If a project cannot progress to kickoff without the right decision points being documented, that is a structural constraint, not a process requirement. If the delivery system requires scope changes to be formally acknowledged before work continues, that is built into the workflow, not enforced by a separate policy.
The distinction matters because people work with the grain of a system or against it. A system that feels like it is helping will be used. A system that feels like it is auditing will be routed around.
Flexibility without chaos
The corollary question is how much variation to allow.
Every client engagement is different. Different industries carry different vocabularies and assumptions. Different organisations have different internal politics that affect how feedback arrives. Different projects have different risk profiles, some where a missed detail is recoverable, others where it is not.
A delivery system that treats all of this the same will fit some projects well and others badly. And a system that fits badly will be adapted informally: team members will work around it, create their own exceptions, maintain parallel records. That adaptation is worse than the original mismatch, because now the system says one thing and the actual state of the project says another.
The design approach that survives this is a system with a fixed core and flexible periphery. The core, intake data model, scope agreement, decision tracking, completion criteria, is consistent across all engagements. The periphery, the specific milestones, the review cadence, the communication channels, the format of deliverables, can vary by project type, client preference or team configuration.
This is a harder system to design and a significantly easier system to operate. It requires knowing, with some precision, what is genuinely core to delivery quality and what is genuinely cosmetic. That knowledge comes from running enough projects to see where things break.
Where this lands in October 2022
Orbit is the product direction these patterns are moving towards: a proper operating surface for commercial execution, with delivery as one of the phases it is designed to handle well. The thinking being developed inside TUXX service engagements is feeding directly into what Orbit needs to be.
The hypothesis is not that client delivery becomes automated. It is that the cognitive load of running a delivery, knowing what to pay attention to, knowing when something has drifted, knowing what needs a decision versus what needs execution, gets distributed to a system rather than sitting on one person's shoulders.
When that works, the person running the project can be strategic rather than administrative. The clients experience reliability rather than anxiety. And the studio can operate at a quality level that does not depend entirely on who happens to be running which project on a given week.
The useful product question in October 2022 is not what else we can add to the system. It is what the system needs to know in order to surface the right thing at the right moment. That is a data problem, a design problem and a product problem all at once.
We are still learning the answers. But we know what questions to ask.