Alistair Q Vermaak – Systems Architect

The Execution Pillar — Why the Workflow Is the Bottleneck, Not the Tool | Alistair Vermaak

"You know exactly what needs to be done. You just can't get it done consistently."

If that's why you're here, you're in the right place. This is the Execution pillar — the page underneath that feeling.

Root cause: broken workflows. Below is why that happens, how to tell if it's happening to you, and what actually fixes it.

The Execution Pillar Part of The Constraint Map

Why the workflow is the bottleneck, not the tool.

You have the plan. You probably have the talent. What you don't have is a workflow that gets the plan out of your head and into the world without you white-knuckling every single step — which is why adding another tool never seems to fix it.

8 min read Part of The Constraint Map

Knowing what to do used to be the hard part. Now it's the easy part.

Strategy is cheap now. You can get a clear plan from a search, a video, or an AI prompt in minutes. What's still expensive — what AI hasn't solved for most people — is the unglamorous work of turning a plan into a workflow that actually runs the same way twice.

Then

The plan was hard to find. Once you had one, executing it felt like the straightforward part.

Now

The plan is everywhere, often free. Turning it into something that actually ships, consistently, is where almost everyone gets stuck.

Adding AI to a broken workflow just makes the breakage faster

This is the part that needs the full argument: why most "AI inconsistency" complaints are actually workflow problems wearing an AI costume, why undefined handoffs between steps are where execution quietly dies, and what a workflow needs structurally before a tool can make it faster instead of just more erratic.

Case Study - The Quiz that Kept Breaking: What Each Break Revealed
Most execution failures don’t happen in the middle of a task. They happen at handoff points — between “built” and “working,” between one system and the next, between what the tool does and what the business actually needs. What follows is a direct account of four execution failures that surfaced during the build of the Solo Operator Systems Score — a diagnostic quiz built for operators who want to understand where their business is leaking. The failures weren’t exotic. They were instructive.

     

FAILURE 01

The animation that never fired

WHAT BROKE

The score ring — an SVG arc that fills to reflect your result — didn’t animate. On the results screen, after a user submitted their answers, the circle sat empty. No movement. No feedback. Just a static graphic where a dynamic one was supposed to be.

WHAT THE FIX WAS

Two lines of code. The browser was batching a style reset and a transition trigger into the same paint frame, so the reset never registered and the animation had nothing to play from. The resolution was to separate them across two rendering frames — a pattern called double requestAnimationFrame — so the browser processed the reset before the transition fired.

WHAT IT REVEALED

The component looked complete at every stage of the build. It rendered correctly. The colours were right. The logic was right. It passed a visual check in isolation. The failure only appeared at the precise moment a real user would encounter it — after submitting real answers, with real data flowing through the system.

 

The handoff between “built” and “working under load” is not the same handoff. No amount of code review catches it. Only testing the full user path does.

 

FAILURE 02

The bars that showed numbers instead of percentages

WHAT BROKE

Each dimension — Content, Delivery, Automation, Client Systems — had a coloured progress bar and a score label next to it. The bars animated correctly. The labels showed ‘75’ instead of ‘75%’. One character missing, making the output ambiguous to anyone reading it.

WHAT THE FIX WAS

A second display function was written to handle the percentage labels specifically, inheriting the base animation logic but outputting the correct format with a suffix appended.

WHAT IT REVEALED

When we built a second version of something, it carried the assumptions of the first. The original function had no percentage suffix because it was designed for a different context. The copy inherited that assumption silently. The output looked almost right — which is the most dangerous kind of wrong.

Most workflow breakdowns at the handoff stage come from a second version of a process that inherited a wrong assumption from the original. Divergence has to be explicit, not inferred.

 

FAILURE 03

The CTA that sent people nowhere useful

WHAT BROKE

The results screen ended with a button pointing at a homepage. Someone completes a twelve-question diagnostic, receives a personalised tier score, and the next step offered to them was: visit a website. No context, no continuity, no specific next move.

WHAT THE FIX WAS

The CTA was redesigned to be tier-specific. Each of the four result tiers — Pre-Systems, Systems Starter, Systems Builder, Systems Operator — now shows different headline copy and a direct booking link to a 30-minute call. The copy reflects where that person actually is, not a generic prompt to explore further.

WHAT IT REVEALED

This wasn’t a technical bug. It was a workflow design failure — the kind that only becomes visible when you follow the user’s path all the way through and ask what they’re supposed to do next. The quiz had already done the qualification work. The person had just told us exactly what was broken in their business. The CTA needed to capture that momentum, not diffuse it.

A diagnostic tool that collects data and then sends people to a homepage isn’t a lead generation asset. It’s a content dead end with extra steps.

 

FAILURE 04

The data that disappeared between the quiz and the inbox

WHAT BROKE

The original submission function sent four values to the WordPress endpoint: name, email, total score, and the four dimension scores. That’s enough to confirm someone completed the quiz. It’s not enough to have a useful conversation with them.

The problem became clear the moment we thought through the call scenario. Someone books a 30-minute session. We open their submission. We know they scored 43 overall, with Automation at 25. We don’t know whether they’re running no tools at all, running the wrong ones badly, or running the right tools without trusting the output. The score identifies the gap. It tells us nothing about where to begin.

WHAT THE FIX WAS

Two coordinated pieces. The front-end submission function was rewritten to build a full answers payload — every question, the exact text of the selected answer, and its point value, mapped by dimension. A custom WordPress REST API plugin was built to receive that payload, parse it by dimension, and format it into a structured plain-text email that arrives before any call takes place.

The email that arrives now reads like a pre-call brief. Name, tier, overall score, dimension breakdown, then each question with the selected answer and its point value listed underneath. Four dimensions, up to five questions each, every answer visible. No login required, no dashboard to check, no second system to open.

WHAT IT REVEALED

The score tells you the outcome of someone’s decisions. The answers tell you the decisions themselves. You need both to have a useful conversation.

This is also the part of the build a client doesn’t think to ask for — until they’re on a call reconstructing context in real time from a number on a screen. The plugin isn’t the product. The call that goes somewhere because of it is.

 

 

THE THROUGH-LINE

Execution breaks at handoff points, not in the middle of tasks

Four failures. Four different categories: timing, inheritance, design logic, and data architecture. None of them were visible in isolation. All of them surfaced at the transition between one state and the next — between the reset and the animation, between the original function and the copy, between the quiz result and the next step, between the submission and the inbox.

That’s where we direct our attention. Not at the components in the middle, but at what happens between them. The code was right. The structure was right. The failures lived in the transitions.

That’s the work.

Three signs the constraint is execution, not effort

01

You can explain the plan clearly, in detail, every time

Ask what you're supposed to do this week and you'll have a precise answer. That's not the issue. The issue is the gap between having the answer and the thing actually existing in the world by Friday.

02

Quality swings wildly depending on the week

Some weeks the output is strong and on time. Other weeks it's late, thin, or doesn't happen at all — with no clear pattern explaining the difference. That inconsistency is usually a sign the workflow has undefined steps, not that you had an off week.

03

New tools get added, and the bottleneck just moves

You bring in an AI tool to speed up one step, and the slowdown reappears one step later. That's the signature of a broken workflow — fixing one link doesn't fix the chain if the handoffs between steps were never defined.

Consistency isn't discipline. It's the absence of undefined steps.

None of this requires forcing yourself to be more reliable. It requires removing the points in the workflow where you have to make a fresh decision every single time.

i.

Map the workflow before you optimise it

Write down every step between "idea" and "published," in order, including the boring ones. Most execution breakdowns hide in a single unmapped handoff that nobody had written down.

ii.

Find the step where it actually stalls

It's rarely the whole process. It's usually one specific step — review, formatting, publishing — where things consistently sit longest. Fix that one step before touching anything else.

iii.

Give AI a defined job, not an open one

"Help me write this" produces inconsistent results because the job is undefined. "Take this outline and produce a first draft in this exact structure" produces a consistent one. Specificity is what makes AI reliable inside a workflow.

If there's no process at all — you're improvising from scratch every time, not following undefined steps in an existing one — that's not an execution problem, that's Systems. And if everything runs smoothly but the results stay flat no matter how much you produce, that's Leverage.

This pillar tells you what broken execution looks like. The Systems Score tells you if it's actually your bottleneck.

It's common to recognise a little of yourself in more than one constraint. The assessment exists to remove that ambiguity — about ten minutes, and you'll know exactly where to focus first.

One-time · Takes ~10 minutes · Instant results

Oh hi there 👋
Nice meeting you here!

Sign up to receive useful content that you can actually use in your business every week.

We don’t spam! Read our privacy policy for more info.