AI product
How I Built an AI Content Pipeline for a History App, With Humans in the Loop
Histia is a world history app built on short narrated stories: a hook, a narrator, images that change with the narration, and a quiz at the end. A content app lives or dies on two things at once, volume and quality. One person can't hand-write, voice and illustrate a library of stories. So I built a pipeline where models do the heavy lifting and a human makes every final call.
In this article
The principle: models draft, editors decide
History is a domain where a confident mistake is worse than no content at all. Users trust an educational app to be right. So the rule from day one was simple: a language model can produce a first draft of anything, but nothing ships without a human editorial pass. The pipeline is designed to make that pass fast, not to remove it.
The five stages
1. Brief
Every story starts as a structured brief: the subject, the angle, the hook, three things the reader should remember and the sources to lean on. The brief is where editorial judgment lives. A good brief makes a good draft almost inevitable; a vague one produces a generic encyclopedia entry.
2. Script
An LLM turns the brief into a narration script with short lines, because short lines sync better with visuals and are easier to listen to. I then edit for accuracy, rhythm and tone. Quiz questions are drafted from the same script, so the quiz only tests what the story actually taught.
3. Narration
The edited script goes to a neural voice model. Audio is encoded small, as low-bitrate mono speech, because app size affects conversion on the App Store: past a certain size, people on cellular get a warning and some never download.
4. Timing
Narration timestamps drive the visuals. Each image and caption is attached to a line of narration, and the app's player advances the slideshow from the audio clock. That way, a story stays in sync even if a line is re-recorded.
5. Distribution assets
The same assets feed marketing: short videos are rendered in code from the story's images and narration, and speech-to-text is used to align captions precisely. One story becomes an in-app experience, a social video and an SEO page.
Content as data
Stories ship with the app as structured JSON: metadata, narration lines with timestamps, a visual plan and the quiz. Treating content as data rather than as screens has three benefits. It loads instantly and works offline. It can be validated automatically. And it lets the pipeline regenerate one piece, say the narration, without touching the rest.
Quality controls that actually work
- Schema validation: every story file is checked for missing fields, broken references and timing gaps before it can be bundled.
- Completeness reports: a script lists stories missing audio, images or quizzes so nothing half-finished reaches users.
- Human editorial pass: facts, dates and names are checked by hand. This is the step I never automate.
- Listening, not just reading: narration is reviewed by ear. A sentence that reads well can sound wrong.
Lessons for any AI content product
- Invest in the brief, not the prompt. Prompt tricks give marginal gains; a clear editorial brief changes everything.
- Make the human step fast. The goal of automation is to give the editor a near-final draft and a clear diff, not to remove the editor.
- Structure your output. Structured content is testable content.
- Reuse every asset. The marginal cost of a second format is tiny once the pipeline exists.
- Cost matters. Generation credits add up quickly at catalogue scale. Budget them like any other infrastructure.
Want the product side of the story: the problem, the decisions and the growth engine? Read the Histia case study, or try the stories on histiaapp.com.