The work
CreativeAgencies

Social Media Carousel System

WEDOHYPE
AI OSSlide 04 / 07
A published carousel slide: It's built in 5 layers, from the ground up
Papercream, with a faint grid
Headlinesans bold, one italic serif word
Highlightsolid felt tip band, never a fade
Tilesflat, 1px border, no shadow
Body floor50px at 1080, 18px in a hand
SignatureAndreas, @wedohype
Settled once · per post, only the words change

One slide from a published document. The design is fixed, only the words change.

The situation

How this used to work

A carousel is five to nine designed slides, and the writing and the design arrive at the same moment. Laid out by hand, each post decides its own type, its own colour and its own spacing, and after a handful of them no two read like the same account.

The copy is the harder half. Written in English and then translated, Greek comes out as an English sentence wearing Greek words, and it reads wrong to exactly the people it is aimed at.

Then the format bites. A LinkedIn carousel is a PDF, and what the browser shows is not what the print engine writes: a soft shadow behind an image comes out as a hard grey block, and the webfonts quietly fall back to Helvetica. Both of those are invisible until the file exists.

What we built

The system

One workspace with two commands, one per platform. Instagram is vertical. LinkedIn is square, and ships as a document somebody swipes through rather than as a set of images. The language follows the audience rather than the platform, and either command writes either one.

One look that does not get reopened: cream paper, a faint grid, a felt tip band on one word, page numbers, a swipe arrow. It is written down as a locked list precisely because it drifted while it was not.

The slides are HTML, so a slide is text in a file and not a shape on a canvas. Fixing a line is an edit and a re-render, which is what makes seven rounds of feedback survivable rather than expensive.

How it works

The pipeline, step by step

01 / Brief

Agree what the post is before building it

Nothing gets built until the topic, the kind of post, the slide count and the typeface for the headlines are agreed. Teaching and lead generation are different carousels, and only the second one is allowed a trigger word and a comment funnel. Anything named on a slide, a tool or a screen, is settled here too: a real asset or nothing.

02 / Plan

Decide how many slides the story needs

Five slides carry a straight recipe, hook, three steps, close. A topic that has to change somebody's mind first needs the longer arc: the pain they recognise, the reframe, then the steps, then the outcome. The arc is proposed as a table and agreed before a line of copy exists, because quietly growing it halfway through is how a build turns into an argument.

Slide planAgreed before any copy
01Hook
Cover
02Pain
Recognise
03Reframe
Turn
04-06Steps
Do
07-08Outcome, close
No DM ask
Five when it is a recipe, more when a mind has to change

The slide plan is agreed before any copy gets written.

03 / Write

Write the copy in the reader's own language

The copy is drafted in the target language from the start, never written once and translated after. The Greek rules are the most specific of them, because Greek is where a translation shows: anything belonging to the reader takes the possessive, numbers are digits and not words, and a short list of borrowed constructions is banned by name because they keep coming back. The cover is never a statistic. Numbers are proof, and proof belongs on the slides after somebody has already decided to swipe.

04 / Design

Size everything to be read on a phone

The slide is 1080 wide and gets read at about a third of that on a phone, so body text has a floor it is not allowed under and card rows have their own. Image tiles are flat, a one pixel border and no shadow at all. The highlight is a solid band rather than a fade, because a fade renders grey and lands in the wrong place.

05 / Render

Export every slide with one script

The page opens at slide size, each slide is scrolled into view and captured, and the set comes out at twice the source resolution. LinkedIn goes through headless Chrome to PDF with a time budget attached, which is the whole difference between the real typeface and Helvetica.

06 / Check

Check every page in the finished file

Every page of the finished PDF is turned back into an image and looked at, against a fixed list: no grey behind a tile, the right fonts, images that actually embedded, punctuation still attached to its highlight, page numbers in sequence, nothing colliding. Sampling a few pixels is not enough, because the grey is a soft halo that reads grey to the eye and cream to a sampler.

Rasterised, then readPage 6 of 8
No grey behind a tile
box-shadow
Real fonts, not a fallback
Pass
Images actually embedded
Pass
Punctuation inside the highlight
Pass
Nothing colliding with the page number
Pass
Print is not preview. Sampling the cream misses this one

This check only ever fails in the exported PDF, never in the preview.

What changed

The result

Four of them are published as LinkedIn documents and they are below. Seven to fifteen pages each, Greek or English, every one of them off the same locked list.

Most of what the system has learned is not about design. It is about how to work: when the note is about the copy, change the copy and nothing else.

The stack

Source

  • HTML + CSS
  • Manrope
  • Source Serif 4
  • JetBrains Mono

Render

  • agent-browser
  • headless Chrome print to PDF
  • ImageMagick

Artwork

  • gpt-image-2 via fal.ai
  • flat line art only
  • corner floodfill to transparent

Settled once

  • cream and felt tip palette
  • page numbers
  • flat tiles
  • swipe arrows

Free 30 minute call

Let's find where AI fits in your business

A 30 minute call, free, no commitment. You leave with two or three things worth building, whether or not you work with us.