On-brand image generation for a data and growth agency
A client-owned system that generates on-brand covers for every article and case study, run by the marketing team in its own Google Workspace.

- Sector
- Marketing services
- Function
- Marketing operations
- Time to live
- 2 weeks
- Systems
- Google Workspace, Canva, image model
Person-time per cover down 87%; one session instead of a working week
The challenge
Every cover took six steps and two people, and a working week from finished article to approval, with two to four rounds of revision. Three-quarters of the effort was designer time, and the brand rules had to be re-explained in every session.
What Astra Via built
A cover-generation system the marketing team runs itself in its own Google Workspace: a library of approved and rejected covers with a rules document, an agent that writes four to five briefs, an image model that renders them, and a Canva template that applies the brand fonts and logos. A feedback loop records the reason for every decision and proposes rule changes, which take effect only once a person approves them.
Context
A data and growth agency operating across MENA publishes a steady stream of blog articles, case studies and social posts. Each needs a designed cover in the agency's own visual identity. The marketing team is small and shares a designer with client work.
The problem
Every cover went through six steps and two people. Marketing wrote the article, asked a chat assistant for visual ideas from scratch, briefed the designer with references, then reviewed a first draft and a round of revisions before the designer produced the social versions. From finished article to approved cover took a working week, with two to four rounds of revision, and three-quarters of the effort per cover was designer time.
The covers were good. The process behind them had five recurring faults:
- Context was lost between sessions. Brand rules and preferences were re-explained every time.
- Ideas from the assistant were inconsistent from one session to the next, so consistency depended on the designer.
- Blog articles and case studies were treated the same, although they need different covers.
- The assistant could not apply brand fonts, so every output needed a designer.
- Volume was capped by the length of the process, not by the writing.

What Astra Via built
A cover-generation system that the marketing team runs itself, in its own Google Workspace. It has five parts.
- A library. Every approved and rejected cover, a rules document that serves as the brand standard for covers, and a history log with the reason for each approval or rejection. The rules were reverse-engineered from previously published covers and confirmed against the brand book.
- An agent. It asks for the format, reads the rules and the library, checks whether the article belongs to a series, and writes four to five briefs, one per creative angle.
- Generation. An image model renders four to five visuals using past covers as style references and leaving room for the title. Marketing picks one and iterates with the agent until it is approved.
- A template. A Canva template applies the brand font, exact colours and real logos, and exports the blog, LinkedIn and Instagram versions. The designer is called only for brand-critical covers.
- A feedback loop. A script endpoint logs every direction, chosen or not, with the reason, and queues proposed rule changes. It writes to the rules document only after a person approves the change.

How it was deployed
The build started with a requirements session with the marketing lead and a review of the archive of published covers. Rules were then written from real failures, not in advance: each build was tested on live articles, and a rule was added only when a real cover had failed for that reason. The endpoint, library and rules document were then set up in the agency's own Google Workspace, and a handover session trained the head of marketing and two analysts from marketing and sales, who completed the setup on their side. From kickoff to handover took two weeks.
Result
All figures are per blog cover, as estimated by the marketing lead against the previous process.

- Person-time per cover down 87%, eight times less effort for the same cover.
- Designer time per cover down 100%. The template step keeps the designer on call for brand-critical covers; since go-live, no cover has needed it.
- Marketing time per cover down 50%, even though marketing now runs the whole process.
- Elapsed time down 97%, from a working week to a single session between a finished article and an approved cover.
- No run regenerated so far. Each run proposes four directions; the chosen one is refined in a few iterations with the agent.
- Quality and consistency rated 5/5 by the marketing lead, against 4/5 before, because every run reads the same rules file.
- Model cost per cover is negligible against the time it replaces.
Publishing is now set by the pace of writing, not by design capacity. The marketing team is extending the same system to newsletter and website formats itself.
"The real value unlock was having a system that maintains context over time and improves as it records the users' feedback. Also, understanding the architecture behind it, so we could take ownership and expand the scope ourselves."Head of marketing, data and growth agency
What the client owns
- The rules document, the library and the history log, in the agency's own Google Workspace.
- The script endpoint and the agent instructions, documented for the team.
- The Canva template with the brand kit applied.
- Model calls through the agency's own accounts; nothing runs on Astra Via infrastructure.
The marketing team runs it, and is extending it without Astra Via.