Most creative work loses days in the approval step. The shoot is done, the edit is done, and then the files go out by email, come back with comments in three different threads, and somebody on the team has to work out which version the client actually said yes to. Then somebody else has to notice the yes and raise the invoice.
That was the problem The Creative Clan brought us. They shoot and edit campaign work, and their client needed one place to see it, decide, and sign it off. Here is how we built that sign-off, and the four rules we would apply to any approval step.
1. Show people only what is waiting on them
The portal shows a month at a time. Every shoot sits in one of three columns: being shot or edited, waiting on the client to look, or approved and closed. Only the column waiting on the client is marked, with a rule, a dot and a count in the line under the month.
That sounds small. It is the whole point. A client opening the board should not have to read every card to find their job. The count tells them how many decisions they owe, and the mark tells them where those decisions are. Everything else is context.
Each card carries enough to recognise the job without opening it: the brand, whether it is photo or video, the shoot dates and the delivery date.
2. Make the yes deliberate
Sign off sits on the card, beside the link out to the review tool where the client looks at the work. Pressing it does not approve anything on its own. It opens a confirmation that names the job again and says in plain words what approving it means.
We do this because an approval is not like other buttons. It closes the job, tells the team the work is finished and starts an invoice. A button that only opens a menu can afford to be one click. A button that moves money should make you read what you are agreeing to, once, in words rather than an icon.
3. Record who said yes, and when
The moment a client signs off, the board moves. The job leaves the review column and lands under signed off, stamped with the name that approved it and the date. The count of what is waiting drops, and a message confirms the team has been told.
That stamp is what replaces the email thread. When someone asks weeks later who approved the cut that went out, the answer is on the card, not in somebody's inbox.
4. Lock what is finished
Step back a month and the board is marked archived and view only. The signed-off work stays exactly where it was, so the record of what was delivered and approved survives, and nothing can be approved twice.
Without that lock, an old board is an open door: a second approval on a job already invoiced, or a card dragged back into review by mistake. Making the past read-only costs very little and removes a whole class of awkward phone calls.
What happens underneath
The client sees a board and a button. Underneath, automation moves the work so nobody on the team has to. A new task sets up a named storage folder. Moving a card uploads the assets for review, makes a link for each one, writes the result back to the task and emails the client. Sign-off routes the job to invoicing.
None of that needs AI. There is no model anywhere in the portal's runtime path. Every step is a rule that should give the same answer every time, and that is exactly what you want from the step that decides when somebody gets billed.
It is also built on the tools the team already uses. The task board stays the task board and the review tool stays the review tool; the portal is the join between them and the client. It runs on Astro and Cloudflare Workers with D1, with a Python layer talking to the Asana and Frame.io APIs.
If you are building an approval step
The same four rules hold whether you are signing off a video edit, a purchase order or a timesheet:
- Show each person only what is waiting on them, with a count.
- Make approving a deliberate act that says in words what it does.
- Stamp every approval with a name and a date, where people will look for it.
- Make finished periods read-only, so nothing can be approved twice.
If your approvals live in email, that is usually a sign the step needs a home of its own. Approvals and sign-off are one of the things we build most often as internal systems, and the case study shows the portal in more detail.