A creative kit that kept a product launch on-brand across six channels
A template-based creative system that produced on-brand social, ad and app-store assets for a launch across six channels, with no redesign per channel.
What the engagement involved
- Industry
- Healthcare & Dental Practices
- Duration
- 4 weeks
- Cooperation model
- Fixed price
Client name withheld under NDA. Engagement details are shown to the extent our agreement permits.
Every surface, in order
The review app: the six assets still with a reviewer, what each is being checked for, the 18 approved, and the reason each sent-back asset came back.
The Welsh story cut previewed on a handset with the profile chip and the reply bar drawn over it, and the name the preset gave the file.
Finding a file on launch day: a search for the paid social square returns its four files by name, wave and status, with no folders to open.
Inside a master: the feed plate with its safe area drawn on, the brand layers locked, the four content slots open, and the color, type and clear-space decisions listed beside it as things nobody can edit.
Crops checked before they leave: the tall story cut with its safe area and overlays marked top and bottom, and every channel's size, inset and overlay area in one table, two of them re-measured.
What the template locks: color, type, logo and spacing as named tokens, bound in all six modes, with how many of the 24 assets each reaches and how often it has changed since export.
Wave one, wave two, held back: the 14 assets going out on launch day, the 7 following a week later, and the 3 not going out at all, each with its reason.
312 exports in a day: the count per channel and the raw export log, where the only five rejections were cropped headlines and an off-brand placed photo, and every brand-rule check passed.
The handover: every file named the same way (channel, variant, language, wave, size, version) in one flat library the launch team can search, with superseded versions archived.
The brief
The launch spanned social, paid ads and app store listings, and it had to look coordinated everywhere without a designer resizing every asset by hand.
A practice launching a patient app across six channels in the same week, with one designer and four weeks. The previous launch had been produced channel by channel, and the app store screenshots had ended up a different shade of the brand blue from the paid ads. Nobody internally noticed. The agency running the ads did, and asked which one was correct.
Creative Production
What people were running into
With no shared templates, each channel's assets were produced separately, and the launch look drifted between social, ads and the app store page.
Producing per channel means the third channel is a copy of the second with the crop changed by hand, and every copy is a chance to drift. The specific failures were mechanical: a logo behind a platform's play button, a headline cropped by a caption gradient, and two versions of the same still at different saturations because one had been exported from a different file.
We built master templates locked to the brand system, then exported correctly sized, safe-zone-checked assets for every channel from the same source files.
Design decisions
Built brand-locked master templates for the recurring asset types
One component-based master, with brand choices locked in variables and only content slots open, feeds all six channels.
Exported per-channel formats with safe zones built in
Each platform's overlay was measured from a real post, because two of the six documented safe areas on the spec sheets were out of date.
Delivered an organized, named asset library for the launch team
Names are generated by the export preset itself and delivered as a flat indexed library, because the launch-day question is the size and the placement, never the folder.
Phase by phase
Phase 1: Inventory
What the launch actually needed
Listed every asset the six channels required and collapsed near-duplicates into one master per recurring type.
- Asset matrix
- Template shortlist
Phase 2: Build
Masters and constraints
Built the master templates with brand decisions locked and content slots exposed, then encoded each channel's safe zones.
- Master template set
- Safe-zone specs
Phase 3: Export
Six channels from one source
Generated every size from the same source files and checked each against its channel's crop before delivery.
- Full export set
- Named asset library
- Handover guide
Four fixed weeks in three phases: inventory with the naming agreed before any export, a two-week build of plates and safe-zone specs, and an export week ending in the handover of the named library.
Brand-locked masters
Master templates where the brand decisions are locked and only the content slots are editable.
Each master is a Figma component with the brand decisions bound to variables and only the content slots exposed, so a campaign manager can change a headline but can't change the type scale. All six channels resolve from one master through variable modes, with no divergent files, and that's what stops the third revision from looking like a different brand from the first.
- Brand bound to variables; only content slots editable
- Six channels resolved from one master via variable modes
- No divergent per-channel files to drift apart
The announcement plate as variables and modes: brand color, type sizes, margins, safe insets and frame size resolved per channel, what the campaign manager can edit (four content slots) and what's bound, and all six channels drawn from the one plate.
Safe zones built in
The Android feature graphic two ways: the previous launch's hand-resized file with the logo behind the play button, and the cut resolved from the plate with its guides; every channel's overlay as measured from a real post, and the checks the export preset runs.
Each channel's crop and overlay areas are marked in the template, so an export can't lose the logo or the headline.
Every channel's crop, safe area and platform overlay (the play button, the profile chip, the caption gradient) is drawn into the template as a locked guide layer. A composition that would lose the logo behind a UI element looks visibly wrong before export, long before publication. Export presets check the guide, so nothing relies on the operator catching it.
- Platform overlays and crops drawn as locked guide layers
- Composition errors visible before export
- Export presets validate against the guides
Named asset library
Every export named by channel and placement, so the launch team could find an asset without asking.
Assets are named by channel, placement, aspect and version from the export preset itself, so the name can't disagree with the file. The launch team got a flat indexed library, because the question on launch day is always the size and where it goes, never which folder someone filed it in. Superseded versions are archived, never deleted.
- Names generated by the export preset, never typed
- Flat indexed library, keyed by channel and placement
- Superseded versions archived, never deleted
The export preset's naming: channel, variant, language, wave, size and version, each read from the frame and never typed, three names it writes, superseded versions archived, and the flat index by channel.
What moved after the redesign
6
Channels launched on
-55%
Asset turnaround
+2.4x
Launch-week installs
Asset turnaround is measured against the previous launch's per-channel production for a comparable number of assets. Launch-week installs is the practice's own store figure against their previous launch, reported as context: coordinated creative is one input to that number among several.
Client name withheld under NDA. Figures are approximate, drawn from the engagement’s own reporting.
Principles that held
- 01
Six channels didn't need six designs. They needed one system and six crops.
The six channels differ in crop and safe area, not in idea. Treating them as six design problems is what had produced six slightly different brands.
- 02
Locking the brand decisions in the template removed the review step entirely.
Review existed to catch brand drift. Once the decisions were bound to variables, drift became impossible and the step had nothing left to do.
- 03
Naming the exports properly saved more of the launch team's time than any single asset did.
Naming is where a launch loses hours. A library the team can search is worth more than any individual asset in it, and it costs nothing at export time.
How design and engineering worked together
- 01
A cross-functional team of 3 worked on a fixed price basis over 4 weeks, covering Template systems, Multi-format export, Asset library. We ran a weekly demo and kept a shared board they could check at any time. Their team took over day-to-day operation before the engagement ended, with handover built into the last phase.
Four weeks, fixed, with the launch team handed a finished library. The naming convention was agreed with them in week one, before anything was exported, because the question they ask on launch day is always what size goes where. A folder structure that answers a designer's question instead of theirs is the usual reason these libraries go unused.
One master, six cuts
Six channels differ in crop and safe area, not in idea.
Pick a channel and see the cut the same announcement plate resolves to: its frame, its safe area, the platform UI that sits on top of it, motion or static, English or Welsh. The brand never moves. Switch tabs, or use the arrow keys once one is focused.
Social story: same plate, story mode
- Frame
- 1080 × 1920 · 9:16
- Safe inset
- top 250 · right 64 · bottom 340 · left 64
- Platform overlay
- Profile chip · Reply bar + caption gradient
- Cut
- Static · PNG
- Headline
- Your dentist, in your pocket
- Color, type and logo from brand tokens
- Logo inside the safe area
- Headline clear of profile chip and reply bar + caption gradient
- Name written by the preset
→ story_static_en_w1_1080x1920_v1.png
Drawn to proportion from each channel’s frame. Insets, overlay sizes and cut lengths are illustrative values for this demo, not a platform specification. The brand never changes between tabs; only the crop and safe area do.
From one brand system to six channels’ worth of correctly named files
Drift happens wherever a decision gets copied. So each decision is made once, upstream, and every later stage can only read it.
- 01 · SourceBrand system as variablesColor, type, logo and spacing are named tokens bound to variables, so each brand decision exists exactly once.
- 02 · MasterBrand-locked plateOne component per recurring asset type. Only the content slots are exposed: a headline can change, the type scale can't.
- 03 · ResolveVariable modes + locked guidesSix channels resolve from the one master through modes, each with its crop, safe area and platform overlays drawn as locked guide layers.
- 04 · ExportChecking presetThe export preset validates against the guides, so nothing depends on the operator, and it writes the file name from the frame itself.
- 05 · DeliverFlat indexed libraryKeyed by channel and placement, with no nested folders. Superseded versions are archived, never deleted.
One brand, clear crops, the right file
Locked decisions, checked guides & names nobody types
The brand can't be edited in a cut
Brand decisions are bound to variables and only content slots are exposed, so a later revision can't come out a different shade from the first. Six channels come from one master, with no separate files to drift apart.
A hidden logo shows before export
Crops, safe areas and platform overlays are locked guide layers, measured from real posts. The spec sheets were checked too, and two were out of date. The export preset checks the guides.
The name can't disagree with the file
Names are generated by the export preset, so the launch team finds an asset by size and placement instead of asking a designer. Superseded versions are archived, never deleted.
Launching on several channels at once, and need it to look like one brand everywhere? Scope your build in 3 minutes.
Scope your buildNearby engagements
Web PlatformsThe ransomware attack that became a four-hour non-event
A ransomware attack encrypted the primary patient records server. Drilled offsite backups and a written runbook turned what could have been a scramble into a full restore inside the recovery time objective.
Healthcare & Dental Practices · Ongoing retainer
E-commerceA cart that won't check out until the prescription is real
An online pharmacy where a prescription is a first-class record with its own lifecycle, and prescription-only items simply can't leave the cart without one.
Healthcare & Dental Practices · 20 weeks
Web PlatformsThe right blood type isn't enough: it has to be someone who can get there
A donor register that matches each request on blood-group compatibility and on whether the donor can actually reach the hospital. One platform serves a web admin and a mobile client from the same records.
Healthcare & Dental Practices · 16 weeks
Let's talk
Running a large platform, shaping a first MVP, or getting a product ready for a funding round? Tell us where you are. We'll shape the process around it, and stay with you after launch.














