Anthony KanBuilding with AI
All Build Notes

An AI attempt can fail without losing the person’s work

InkSpire taught me to design the route back, as carefully as the route forward.

Getting startedAbout 2 min read

The button starts an attempt

Pressing Generate feels like one action. Behind that action, InkSpire has work to do: develop a script, prepare supporting material and bring a usable result back to the creator. An attempt can finish, stop early, fail or return something useful but incomplete.

Those outcomes need different responses. Treating them all as “the request has finished” can send someone to the next screen before there is anything ready to review. The application may have stopped being busy, but the person’s task is still unfinished.

Keep the starting point intact

The failure-and-cancellation work in InkSpire gave the journey a clearer boundary. A failed first attempt should leave the creator with their input and a useful way to try again. It should not advance to script review as if a script existed.

There is another important case: someone already has a script and asks for a new attempt. If that attempt fails, the earlier work should remain available. Keeping it is different from pretending it is the newly generated result. The interface needs to make that difference understandable.

Stopping is a decision too

Cancellation is not necessarily a problem. The creator may have changed their mind or noticed that the starting material needs work. A tool should respect that decision without describing it as a successful generation or an unexplained service failure.

A partial result needs similar care. Something usable may exist, while another part needs attention. Showing what is available and what still needs work helps the person decide their next step. A green success message alone cannot do that job.

Build the return journey

I would now describe these routes alongside the successful one: a failed attempt, a deliberate stop and an incomplete result. Which material stays? Where can the person retry? What do they need to know before continuing?

InkSpire’s generation flow now distinguishes these outcomes. That does not make every live AI attempt predictable. It gives me specific behaviour to check: the explanation should match what happened, and a failed new attempt should leave the person’s input and earlier script available.

Related project

InkSpire