Slideshows that do not
read as machine-made
socialgen writes and lays out swipeable image decks and short videos, renders them to platform-exact files, scores them against a corpus of real high-performing posts, and pushes finished sets to TikTok as drafts.
The split is the whole design
The work divides cleanly in two, and keeping the halves apart is what stops the output looking generated.
The tool does what is deterministic
Image search, rendering, layout maths, scoring a deck against the corpus, caption limits, hashtag caps, API payloads, packaging, publishing and status polling. It never writes a sentence.
The model does what is creative
The hook and the body copy, which image belongs to which line, the angle, the topic, and the judgement about whether the result is actually any good. It never guesses a pixel size or a hashtag limit.
From a topic to a draft in your inbox
Pick a template and a format
A template is what a deck looks like; a format is what it says. They vary independently, and both are mined from posts that actually performed rather than invented.
Write the copy against a measured shape
Each format carries a per-slide plan, the openers that fit it, the rules the posts that ran it obey, and the ways writers break it.
Choose the pictures
The b-roll library is indexed by dominant colour and grouped into named vibes, so a search narrows by look and by subject at once.
Render, critique, look
Slides are HTML and CSS rendered by a real browser, so the editor preview and the exported file cannot drift apart. The critique scores legibility, safe areas and corpus fit.
Publish to drafts
Posts land in the creator's TikTok inbox for a human to approve. Publishing straight to a feed is a per-account switch that is off until you turn it on.
What is actually in it
Deterministic renderer
Every size is a fraction of canvas width, never a pixel, so one deck serves 4:5, 3:4, 9:16 and 1:1 by reflowing rather than cropping.
Text frames that close properly
A framed block is drawn as one shape - the union of its line boxes, rounded at every vertex, including the concave junctions where a narrow line meets a wide one.
Six colours, on purpose
White, black and four accents. Main copy is always white or black; the accents carry numbers and highlights, and a filled frame takes a near-black tinted with its own hue.
Vibe-clustered b-roll
Every photograph is indexed by its five dominant colours and grouped into named looks, each with a text policy: which colour survives on it, and whether copy needs an outline.
Short-form video
One line of copy held still while b-roll cuts six times a second. Three frame shapes, and the outline decision is made on length rather than contrast.
Analytics with history
Posts are read back twice a day and every reading is kept, so growth, velocity and whether a post has plateaued are measurable - which a single reading cannot tell you.
Iteration on what worked
Winners are ranked by reach normalised for age times the engagement it earned, and each one carries the deck that produced it, so the next version varies one axis rather than starting over.
Captions inside the real limits
Photo titles cap at 90 runes and video captions at 2200 with no description field at all. The tool knows the difference so the writer does not have to.
Drafts by default
Nothing reaches a feed without a human opening TikTok, unless auto-post is deliberately switched on for that account.
Grounded in posts that performed
Every library in socialgen was read out of real high-performing posts and is engagement-weighted, so the numbers describe what works rather than what is common.