Skip to content
← BACK TO JOURNAL
SHIPPING . MAR 03 . 4 MIN

Solo-preneur delivery math (it’s not pretty).

BB
Braeden Bihag

Here is the honest math: at the delivery layer Almost a Lab runs near-solo on engineering, and that only works because every other variable is held still. Fixed scope, production from day one, heavy reuse, and an internal deployment backbone that takes the friction out of shipping. The moment any of those slips, concurrency collapses. So the real answer is not a clever scaling trick. It is a cap. We run a small number of client sprints at once, we stay selective, and we say no a lot. That is the whole game.

What actually makes the numbers work

People assume the constraint is hours. It is not. A single engineer has a fixed number of focused hours in a week, and no tool changes that. What tooling changes is how much of each hour goes to the actual problem instead of the setup around it.

Three things carry the weight. First, fixed-scope engagements. Every Forge build is a 12-week commitment with a defined edge. No open-ended hours, no quiet expansion of the brief, no surprise phase four. Second, production from day one. We do not build a prototype and then a real version. The first thing deployed is the thing that ships, so there is no rewrite tax at the end. Third, ImpossibleOS, our internal deployment backbone. It removes the part of the job that is pure friction: standing up environments, wiring deploys, the plumbing. When shipping is close to free, an engineer spends the week on the work that is actually hard.

Reuse sits under all of it. We do not start from a blank file. Patterns, components, and whole subsystems carry from one build to the next. If you are genuinely solving the same shaped problem twice, the second time should cost a fraction of the first. A lot of agencies pretend every engagement is novel because novelty justifies the invoice. Most of it is not novel, and pretending otherwise is how small teams drown.

Where the ceiling is

There is a hard limit, and I want to be specific about it instead of waving it away. Near-solo delivery has a concurrency ceiling. Two sprints at full depth is real work. Three is where the cracks start. The honest tax is not the coding. It is context-switching.

Switching from one client's codebase to another is not free. There is a reload cost every time: the mental model of the system, the decisions made three weeks ago, the reason a thing is built the way it is. Drop that context and pick up another, and you pay to rebuild it both ways. Do it too often in a day and the quality of every decision drops. You start making the safe choice instead of the right one because the right one needs context you no longer have loaded.

The bottleneck was never typing speed. It was how many systems one person can hold in their head at full fidelity at the same time.

That number is small. I would rather be honest about it than sell a fantasy where it scales linearly with willpower. It does not. Push past the ceiling and you do not get more output. You get the same output with more bugs and worse judgment, which is a strictly bad trade.

Why we cap instead of faking scale

The obvious move is to hire. Throw bodies at concurrency and the ceiling lifts. We have chosen not to do that carelessly, and the reason is simple: adding a person does not just add capacity, it adds coordination cost, onboarding time, and a dilution of the standard that lets a small team ship production work fast. A bad hire is worse than a slot left empty.

So we cap slots. When the sprints are full, they are full, and the next engagement waits or goes elsewhere. That costs us revenue on paper. It also means the work we do take keeps its quality, because nobody is running six things badly to look busy. Selective is not a posture here. It is the mechanism that makes the delivery math close.

If I had to compress it: lean is not a virtue, it is a constraint we engineer around. The tooling and the reuse buy back hours. The cap protects the hours we have. And being honest about the ceiling is the only thing that keeps us from quietly shipping worse work to hit a number. It is not pretty. It is just true.

// frequently asked
How many client sprints can a near-solo team really run at once?

At full depth, two is sustainable and three is where quality starts to slip. The limit is not coding hours, it is how many separate systems one person can hold in their head at full fidelity. We cap slots around that reality rather than overcommit.

Doesn't fixed scope just mean you do less?

It means we do exactly what was agreed, to a production standard, in twelve weeks. The fixed edge is what makes the timeline real. Open-ended hours are how small teams quietly miss every deadline. A defined scope is a promise we can actually keep.

Why not just hire more engineers to lift the ceiling?

Because a person is not pure capacity. They add coordination, onboarding, and risk to the standard that lets us ship fast. We would rather leave a slot empty than dilute the work. When we add people it will be deliberate, not a reaction to demand.


Brief a build →