About Carousel Maker
A carousel is a deck of images, and the hard part is not making them pretty — it is that the preview and the export are usually two different pieces of code, so the deck you approved is not quite the deck you posted. Here one routine draws both, at two scales, which is why the card on screen is the file. The source is the format you already write in: a line of dashes between slides, a hash for a heading, a fence for code.
A carousel is a stack of images that a reader swipes, and the platforms are strict about what they accept: LinkedIn takes a PDF as a document post, Instagram takes square or 4:5 images, and both scale whatever you give them to fit. So the useful question is not what the design tool can do, it is whether the file you download is the one you approved on screen. Here the preview and the export call the same drawing routine at two different scales — the card you are looking at is the file, not a representation of it.
The source is the format people already write in rather than a new one to learn. A line of three dashes starts the next slide, because that is what a rule means in Markdown and what a divider means in a note. A hash makes a heading; a heading with nothing under it becomes a title card, and a heading with a paragraph under it becomes that paragraph with a heading, which is a different-looking slide. An angle bracket pulls a line out as a quote, set larger and in the accent colour, for the sentence worth stopping on. A fenced block becomes a code slide of its own, because a snippet sharing a card with prose is unreadable at the size these are viewed at.
Pictures go in the same way the text does. Attach a screenshot and write a Markdown image line where you want it, naming the file — it always takes a slide of its own, because a picture sharing a card with a paragraph is too small to read on the phone most people swipe these on. It is drawn to cover the card and cropped rather than squashed, since a stretched screenshot looks worse than a tight one and every platform crops a carousel to its own shape anyway; a caption sits in a bar along the bottom rather than over the image, because text laid over a picture you have not seen is a contrast gamble. Name a file you have not attached and the slide says so, instead of coming out blank and looking like a broken export.
Each slide is saved in the format it deserves, which is what keeps a deck with photographs in it a few hundred kilobytes rather than tens of megabytes. A card of flat colour and sharp type is a PNG, where text edges stay crisp; a card that is a photograph is a JPEG, where a PNG would be fourteen times the size for no visible gain and JPEG’s ringing has no type to ring around. Attached pictures are also shrunk on the way in to the largest size any card can actually use — a phone photograph is four thousand pixels wide, and everything past sixteen hundred is thrown away at draw time regardless, after being carried through every redraw and into the download.
Code is treated differently from prose on purpose. Prose is re-wrapped to the measure, and a word too long for the line — a URL, a long identifier — is broken rather than allowed to run off the edge, since silently overflowing looks like a bug in the export and is only noticed after posting. Code is never re-wrapped, because a broken line of code is wrong rather than narrow; it is fitted by reducing the type size instead, down to a floor that stays legible on a phone. Indentation is kept exactly as written.
Everything is drawn on a canvas in the tab. That is a privacy property — a draft about an unreleased feature or a client's numbers is never sent anywhere — but it is also why there is no watermark and no export limit: there is no render server whose time has to be rationed. The PDF is built with pdf-lib in the same tab, one page per slide at the exact pixel size, and the PNGs are packed into a ZIP written here too.
What it does not do is lay out for you. There is no drag handle, no image placement and no template gallery: the deck is a consequence of the writing, so editing the post edits the deck. That is the right trade for a thread you have already drafted and the wrong one for a designed brochure — if you need to position things, a design tool is the honest answer.
Common use cases
- Turning a thread you drafted in a notes app into a LinkedIn document post without retyping it into a design tool.
- Posting a code snippet as an image, with the indentation intact, instead of a screenshot of an editor at whatever zoom it happened to be.
- Making a set of slides from release notes or a changelog entry, where the writing already exists and the deck is just its shape.
- Repeating a format weekly — same shape, same colours, different words — by keeping the link, which carries the settings but never the writing.
- Drafting a post about something unreleased, where uploading it to a third-party renderer to make pictures is not an option.