Journal / AI · Flows
When AI isn’t the answer: how I work it out in a Sprint



The request nearly always arrives in the same words: “can AI do this?”. Nearly always, yes. The useful question is a different one: which step actually improves, at what cost, under whose control.
To answer it I don’t open a slide deck. I open the real flow, with the real documents, and try one single step. That is the definition Sprint: a map of the flow, the essential specs, an estimate and a release plan.
Two numbers interest me: how much time that step costs today, and how much checking it would cost if a machine did it. If the second isn’t clearly smaller, the project doesn’t start.
One step, on real data
Inside the Sprint I pick one concrete step and try it on the real documents, measuring before and after. No demos on made-up data.
At GDM România that step was running the social channels: writing, laying out, scheduling, checking again. Hours that appear on no invoice and vanish every week.
I counted the before on the hours the team reported in an ordinary week, and the after on the flow already in service. Same period, same channels, same posting rhythm.
Sometimes the correct answer is that AI isn’t needed. When that happens I say so, and I don’t build.
It happens more often than you would think. If the blockage is a field filled in badly upstream, or a permission nobody granted, a model only adds one more layer to check. There you fix the flow, and that’s it.
Saying it costs me a job and saves months. That is why the Sprint is paid for on its own: it exists to decide, not to sell the next phase.
Always a person who approves
When AI does belong, it comes in with written limits. The social agent beside this line prepares everything on its own, but it only publishes after someone taps “Approve”.

The agent lives on Telegram, where the team already is every day: no new tool to learn. It proposes the text and the image, gets a yes or a correction, and only then publishes.
I write the limits before I build: what it may do alone, what has to pass through a person, what it must never touch. Three lines in a document, worth more than any setting buried in a panel.
The rule that holds it all together fits in a few lines, and it’s the first thing I write:
# human approval rule
if confidence < threshold or touches(sensitive_data):
hand_over_to(owner) # no automatic decision
else:
carry_on(flow)
A threshold, a limit, a person. When the system isn’t sure it doesn’t decide: it asks.