Should I vibe code
AI carousel builder for LinkedIn, Instagram, TikTok, and other social channels
An LLM, an HTML template and a screenshot. The hard part was never the code, it was having something to say.
?
Their verdict, the Starter 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
Strip away the marketing and this is a prompt, a template, and a screenshot. An LLM returns eight slides of structured JSON, an HTML layout binds to it, a headless browser or an SVG renderer turns each one into a PNG, and something staples the PNGs into a PDF because that is what LinkedIn accepts. Nothing here touches money, strangers or a database worth protecting; the worst version of this bug is a carousel with an orphaned line and a hook that sounds like a robot, and you noticed before you posted it because you looked at it. The honest caveat is the ceiling. Layouts that survive a 90-character hook, brand kits, and output that does not read as generated are exactly the polish a €7 subscription is selling, and none of it is a weekend. But for your own posts, at your own volume, the homemade version genuinely competes — and it is yours, so you can make it stop writing "In today's fast-paced world".
What actually breaks
not "if". the specific failures.
- Text overflow, which is the entire engineering problem: the hook that fits in the mock is 42 characters and the one the model returns is 96, and nothing in a fixed-height slide tells you it clipped
- Fonts, in two ways — a headless browser that renders on a server without the font installed silently substitutes it, and a font you like may not be licensed for commercial or embedded use
- Export fidelity. Emoji, non-Latin scripts and ligatures are where the PNG stops matching the browser preview
- Model drift: the prompt that produced good slide structure in March returns bullet soup after a provider updates the model, and nothing errors
- Per-platform dimensions and safe areas, which change quietly and are the reason your Instagram export has the caption under the crop
- Your own tolerance for the output, which is the real reason most of these projects stop
Is that you?
the verdict is a default, not a law
- It generates carousels for accounts you control and nobody else touches it
- You export files and post them yourself, rather than wiring it to a publishing API
- Fonts are self-hosted with a licence you have actually read, and the renderer runs where they are installed
- You are happy to be the layout reviewer, because a human glance catches every failure mode this thing has
- You are selling generated carousels to clients, in which case the font and stock-image licensing is now a contract term rather than a hobby detail
- It posts automatically to a social account, because that turns a layout bug into something a few thousand people saw
- It accepts other people's prompts on a public URL and you are paying for the model calls
If you build it anyway
the checklist, then the prompt that enforces it
- Make the model return structured JSON — hook, slides, body, CTA, caption — never rendered markup. Layout is your code's job, and validating a schema is how you catch nonsense before it becomes a PNG.
- Enforce character budgets per field in the schema, then auto-shrink or reflow as a second line of defence, and fail loudly if text still overflows. Silent clipping is the only bug here that reaches an audience.
- Self-host fonts and keep the licence file next to them. If the output is ever commercial, check embedding rights before you check kerning.
- Render deterministically: pin the browser or renderer version, pin the fonts, and snapshot-test a handful of decks so a dependency bump cannot quietly change every export.
- Export SVG or PDF as well as PNG. Anything that might get printed or resized wants vectors, and PDF is what LinkedIn ingests anyway.
- Keep the prompt in a versioned file with the model name recorded beside it, so "it used to be better" is a diff rather than a feeling.
I am building a tool that turns an idea into a social carousel: an LLM writes
the slide content, my code lays it out, and it exports images and a PDF. This is
low stakes, so keep it small and do not let it grow a backend it does not need.
1. The model returns validated JSON only — hook, an array of slides with title
and body, a CTA, a caption. Never let it emit HTML or CSS. Reject and retry
on schema failure.
2. Put character limits in the schema and enforce them before rendering. Then
add an overflow check at render time that throws rather than clips. Clipped
text is the one bug that reaches an audience.
3. Layout is deterministic template code. Pin the renderer version and
self-host every font in the repository next to its licence file.
4. Build the export path first and test it with adversarial content: a
90-character hook, an emoji, an em dash, a Cyrillic word, an empty slide.
5. Export PNG, PDF and SVG. Make PDF the primary artefact, because that is what
LinkedIn accepts.
6. Keep the prompt in a version-controlled file with the model identifier
recorded beside it, and add a snapshot test over three sample topics so I can
see when a model change degrades output.
7. This is a local CLI or a single-user app. No accounts, no hosted URL, no
database beyond files on disk.
8. Do not add social publishing. If I ask for it, remind me that an auto-posted
layout bug is public and that I have gained nothing by removing the one human
glance that catches everything.
9. Do not bundle stock imagery or icon sets without me confirming the licence.
10. Out of scope on purpose: brand kits, team libraries, analytics and a web
editor. Those are the paid product, and they are also where the months go.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 carousels are a channel rather than a hobby. €7 a month for five a month, or €19 for fifty, buys layouts that have already met a 96-character hook, a brand kit that stays consistent, and templates designed by somebody who does this for a living. That is a fair trade if you post weekly. If you post occasionally and enjoy the build, your version is genuinely fine and costs a model call.
There is nothing to exit. The output is files, the input is a text prompt, and the only dependency worth naming is the model provider — swap it and the templates are unchanged. Keep each deck's source JSON beside its exported PDF and you can re-render everything you have ever made after a redesign, which is more than most subscription tools will let you do.
Converts HTML and CSS into SVG, which is the deterministic way to render a slide without shipping a browser.
Markdown to themed decks with PNG and PDF export, actively maintained and already most of the pipeline.
Questions
canivibecodeit says KINDA. Why are you more relaxed than they are?
Because we are answering a different question with the same facts. Their KINDA is about whether you can match the product, and you cannot — the design system and the layout robustness are real work. Ours is about whether you will regret shipping it, and the answer for your own social posts is no. Nothing here can hurt anyone, and the failure mode is visible in the preview.
What is the single thing that will actually break?
Text length. Everything else is cosmetic. A fixed-height slide plus a model that occasionally returns twice as many words as your mock is how you end up posting a carousel with a sentence cut off at the baseline. Enforce limits in the schema, then throw on overflow at render time, and this category of bug disappears.
Should I let it post to LinkedIn for me?
No, and not for security reasons. The one control that makes this whole thing safe is that a human looks at eight images before they go out. Automating the post removes exactly that step, in exchange for saving fifteen seconds.
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.
The editor is hard, the template library is harder, and the font licensing is a legal department.
AI slide generation is a prompt and a template. The output was always going to be disposable.
Drafting threads locally is lovely. Letting a script publish them is where it stops being lovely.
last reviewed 2026-08-04 · verdict is editorial and unsponsored · shared entry data from canivibecodeit under MIT · not legal advice