Should I vibe code
Automatically resizes and applies brand rules across marketing graphics
Resizing is a render call. Making a nineteen-word headline survive a 160×600 skyscraper is the actual product.
?
Their verdict, the Pro price and the build-time estimate come from their entry, MIT-licensed. Checked 2026-08-04.
?
Our verdict, the regret score and everything below it. Editorial and unsponsored — nobody can pay to be moved.
The honest answer
why the verdict is what it is
RelayThat is a layout engine wearing a design tool's clothes: give it a logo, two typefaces, a palette and a headline, and it returns the same idea in every size a channel asks for. The rendering half of that is a solved problem now — Satori or a headless browser will turn HTML into a 1080×1350 PNG all day, and you will have it working before dinner. What you are actually paying for is typographic judgement at the edges. What should happen to a five-word composition when the headline is nineteen words? When the logo is a wide wordmark rather than a square mark? When the frame is a 160×600 skyscraper and the safe area eats the strapline? Each of those is a rule somebody wrote by hand, and "automatic" is just the word for having written enough of them. Two other things do not come with your repo: a stock library you are licensed to use commercially, and fonts you are licensed to embed. Those are contracts rather than code, and they are what makes an export safe to hand to a client.
What actually breaks
not "if". the specific failures.
- Long text, which is every real headline. A layout tuned on "Summer Sale" falls apart on the campaign's actual name, and the fix is not a font-size clamp — it is a rule about what to drop
- Extreme aspect ratios. The same composition has to work as a square, a 9:16 story and a 160×600 skyscraper, and no single set of proportions survives all three
- Font rendering anywhere but your machine. Headless Chrome on a server has different fonts, different fallbacks and different emoji, so the batch generated at 2am looks subtly wrong to everyone except you
- Licences, in two directions. Google Fonts is fine; the foundry face in the brand guidelines is often licensed for desktop use in a way that does not obviously cover embedding it in a rasterised ad — and stock images pulled from an image search are covered by nothing at all
- Colour, quietly: sRGB versus the display profile, and CMYK the moment anything goes to print, where "close enough" becomes a reprint bill
- Channel specs, forever. Every platform changes its dimensions and safe areas eventually, and your preset list is the part that rots while you are not looking
- Batch export at volume. Forty assets across twelve sizes is 480 renders, and a headless browser will leak memory long before it finishes
Is that you?
the verdict is a default, not a law
- It is your own brand, your own campaigns, and you look at every export before it ships
- The typefaces are ones you hold an embedding licence for and the imagery is yours or genuinely open-licensed
- The output is screen-only, so a colour profile mistake costs nothing
- You are generating variations of a layout you already designed, rather than expecting the tool to do the designing
- You are handing exports to clients as finished, licensed work
- Anything goes to print, where the colour and bleed mistakes are paid for in units of a thousand
- The headline text arrives from a spreadsheet and nobody reads the render before it goes live
- You are hoping the tool will make the layout decisions — that is the expensive part, and it is the part you were trying not to pay for
If you build it anyway
the checklist, then the prompt that enforces it
- Audit the licences before you write the renderer. List every typeface and every image, and record what each one permits: web embedding, rasterised advertising, print, resale. This is the half of the problem that code cannot fix later.
- Never solve overflow with overflow:hidden. A truncated headline renders successfully and ships. Make the layout fail loudly instead, and treat a failed fit as a build error rather than a warning.
- Test every template against a deliberately absurd string — the longest real headline your team has ever written, plus fifty percent — before it is allowed into the preset list.
- Pin the fonts. Bundle the exact files with the renderer and assert on their checksums, so a server-side font fallback cannot silently substitute something else mid-batch.
- Generate a contact sheet of every asset at thumbnail size for every batch, and look at it. Fifteen seconds of human eyes catches what no assertion will.
- Keep templates as source — HTML and CSS, or SVG — in git. The renders are disposable; the layout rules are the thing you are actually building.
- If anything is going to print, do the colour conversion once, deliberately, with a profile the printer named, and get a proof.
I am building a brand-asset generator: brand kit in, the same layout rendered
across many channel sizes out. The failure I care about is a bad asset that
renders successfully and ships. Work in this order.
1. Before any rendering code, ask me for the licence status of every typeface
and image and write the answers into a LICENCES file. Where I cannot say
whether a font may be embedded in a rasterised ad, default to one I can.
2. Templates are source files — HTML/CSS or SVG in the repo — not rows in a
database. Renders are disposable output and belong in .gitignore.
3. Use an existing renderer (Satori, resvg or headless Chromium). Do not
implement text layout, line breaking or kerning.
4. Fit checking comes before styling. Given text and a frame, decide whether it
fits; if it does not, fail the render loudly. Never truncate, never clip,
never shrink below a legibility floor I set.
5. Build the torture test early: per template, render a one-word headline, a
realistic one, and one fifty percent longer than the longest we have shipped.
Those three go in CI.
6. Bundle font files with the renderer and assert their checksums at startup. A
server-side fallback substituting a face mid-batch is a crash, not a shrug.
7. Emit a contact sheet per batch — every asset, thumbnailed, one page — so a
human can scan a whole run in one look.
8. Size presets go in a data file, each with a comment saying where the numbers
came from and when they were checked. These change.
9. Batch rendering must be resumable and memory-bounded: one process per N
renders, restart between chunks, write output atomically.
10. Colour is sRGB everywhere. If I mention print, stop and tell me it needs a
CMYK profile from the printer and a physical proof, which is outside what
this tool should promise.
11. Out of scope unless I ask: a stock library, an editor UI and multi-user
brand kits. RelayThat is $15 a seat a month and most of that price is the
licensed asset library, which I cannot build.That one keeps you out of trouble. For the prompt that actually builds it, canivibecodeit.com has one.
their build prompt ↗Or don’t build it
the boring option, and the way back out
If you need the asset library more than the engine. Fifteen dollars a seat a month buys three million images you are actually licensed to use commercially, a preset list somebody else updates when a platform changes its sizes, and the accumulated typographic rules that make the resize look deliberate. Building the renderer is a good weekend and genuinely useful for one brand's repeated layouts. Building the licensing is not a weekend, because it is not code.
$15/mo is cheaper than your weekend.
There is almost nothing to escape from, provided templates are source. Renders are PNGs and SVGs already sitting in a folder you own, so "leaving" means keeping the folder. What is worth protecting is the template format: if the layout rules live in a database table with your own schema, they leave with the app. HTML and CSS in git, one file per template, means the same rules can be rendered by a different tool next year — or by a designer opening them in a browser and reading them.
Renders HTML and CSS to SVG in a headless process, which is the entire rendering half of this problem already solved.
Open-source collaborative design and prototyping platform, useful as a reference for how components and variants are modelled.
Questions
Is RelayThat still running?
Yes. The pricing page was read live on 2026-08-05 and still lists PRO at $15 per user per month, PRO+ PLUS at $25 for two users, and an Enterprise contact tier, with working sign-up. Worth stating because the name is one keystroke from Relay.app, an unrelated automation product that announced its own shutdown in July 2026 — the two get conflated in search results.
Isn't automatic resizing just responsive CSS?
For a handful of sizes with the same aspect ratio, more or less. It stops being that when the ratio inverts. A composition designed wide has a focal point, a reading order and a place for the logo, and none of those survive being squeezed into 9:16 by the same rules that handled a 4:5. What the paid product encodes is a set of alternative compositions per family, chosen by frame shape — which is design work stored as configuration, and there is no CSS property for it.
How much does the font licensing thing really matter?
It matters at exactly the point the output leaves your screen. A desktop font licence typically covers making images on your own machine; embedding the outlines into an ad served by a network, or into merchandise sold at scale, is often a separate grant. Nobody notices for a personal project. Somebody's legal team notices when the campaign is big enough to see, which is the same moment the automation was finally paying off.
Every week, someone ships something they shouldn’t have.
New verdicts, the worst thing that landed in the trap, and the occasional incident report. No other email, ever.
A canvas with draggable shapes is a weekend. The pen tool is a career. Ask anyone who has shipped one.
Premium unlocks no features. It hides an ad. Rebuilding a decade of PSD archaeology to dodge a banner is the trade.
Every operation is a library call. The product is that it runs in a browser tab on a 40MP file without dying.
last reviewed 2026-08-05 · verdict is editorial and unsponsored · shared entry data from canivibecodeit under MIT · not legal advice