CMS App Starter · Industry version
A newsroom-shaped CMS — sections, curated fronts, embargoes, corrections — generated into code your publication owns.
A publication isn't a blog with more posts. It's desks with editors, a homepage that's an argument about priority, embargoes with legal weight, and corrections with a policy. This starter models that newsroom structure in the schema and gives the code to the people who ship the site.
01 · The problem
Generic CMS platforms assume one queue of posts in reverse-chronological order. A publication runs desks: politics, culture, and features each have their own editors, their own review standards, and their own section front that someone curates. Flattening that into a category dropdown erases the org chart the content actually flows through.
The homepage is the sharpest mismatch. On a real publication it's a curated surface — a lead story held above fresher items, a features package pinned through the weekend — not a feed. When curation isn't modeled, front-page editing happens through hacks: fake timestamps, sticky flags, and a nightly prayer.
And publishing carries obligations blogs don't have. Embargoed stories must not leak early by anyone's slip; corrections must be visible, dated, and preserved; competing bylines and contributor payments hang off authorship data. These are schema problems, and rented schemas don't bend to them.
02 · Data model
Everything in the base CMS starter —
postspagescategoriestagsmediaauthorscomments— plus the entities this industry actually runs on:
| table | what it holds |
|---|---|
sections | Desks with their own editors, review rules, and front pages — the newsroom's org chart, in the schema. |
featured_slots | Named curation positions — lead, secondary, package rail — that editors assign stories into, with scheduling. |
corrections | Dated, visible amendments linked to the story and its revision history — policy made structural. |
03 · Screens
Stories route through their section's pipeline — writer to desk editor to copy to publish — and each desk sees its own queue. The politics editor can't accidentally ship a features draft, and the workflow report shows where stories stall by desk.
Editors drag stories into featured slots on a visual board and schedule handovers — the 6 a.m. front differs from the noon front by plan, not by whoever woke up first. The feed still runs underneath for everything uncurated.
An embargoed story is locked at the schema level: invisible on the public site, watermarked in the admin, and released to the second. The pre-publication URL never resolves publicly — a category of career-ending error, structurally removed.
04 · In practice
The overnight editor reviews what moved, drags the developing story into the lead slot, schedules the handover for 6 a.m., and annotates the decision. The curation log shows who fronted what and when — institutional memory the next editor inherits.
The story sits complete and locked for a week while legal reads it. At 00:01 on launch day it publishes itself: front slot, section lead, and social metadata all pre-staged. Nobody stays up to press the button, and nobody can press it early.
A misstated figure gets fixed in the text; the correction record appends the dated note the style guide requires, preserves the prior revision, and renders the notice on the story. Reader trust is a workflow here, not a footnote culture.
Sections are entities with their own editor assignments, review rules, and fronts. Permissions follow desk membership, so the culture desk runs its pipeline without touching news — and a shared story can carry both desks' review explicitly.
Featured slots are named positions editors fill from a drag-and-drop board, with scheduled changeovers. Curation is data — which means the front can be A/B tested, audited, and handed between shifts without a single fake timestamp.
Authors are decoupled from login accounts, so freelancers get real bylines, bios, and archives without system access. Per-story contributor records can carry rates and payment status if the desk manages freelance budgets in-system.
Yes — the codebase is yours, so metering rules, gated sections, or a membership join with the Dual7 membership starter are engineering decisions you can take when the audience justifies them, with no platform tax on the revenue.
Dual7 App Starters
A newsroom-shaped CMS — sections, curated fronts, embargoes, corrections — generated into code your publication owns. Describe your version to start — the output is a project you own.