Mentionwell

Mentionwell is a headless content engine with a public read-only API. Your destination site pulls content; Mentionwell never writes to your codebase.

The data model

Five top-level objects live in Mentionwell's database. Most operations move data from one to the next.

  • Site — one destination domain. Has a brand profile, taxonomy, delivery config, and an automation policy.
  • Taxonomy — a tree of content clusters. Headlines get attached to nodes for topical authority + internal linking.
  • Headline — a planned article. Has a target keyword, search intent, schedule, and lifecycle status (proposed → approved → queued → generating → drafted → scheduled → published).
  • Draft — a generated article waiting on review. Includes HTML, Markdown, FAQs, JSON-LD, sources, and a measured cost.
  • Post — a published article. Same shape as a draft plus published: true + publishedAt.

Plus Run (one execution of the planner / writer / critic / publish flow, with cost + duration) and Job (one worker run on the queue: onboarding, draft, publish, autopilot, refresh).

The pipeline

Site profile + taxonomy
        │
        ▼
   Headline ─────► Draft ─────► Post ─────► /api/public/.../posts
   (planner)      (writer +     (publish     (your site fetches)
                   critic)       flow)

Every step writes to the database; the API serves directly off the latest published row.

Pull, not push

Older blog stacks push content into the destination (CMS → webhook → SSG rebuild → CDN). Mentionwell inverts that: your destination pulls on every revalidation. Three reasons:

  1. No deploy on every post. You publish in Mentionwell and your site picks it up on its next ISR / SWR cycle. No CI run, no minutes burned.
  2. No coupling. Your destination doesn't need a CMS adapter, plugin, or build-time content fetch. One API call replaces it.
  3. Caching is honest. The API returns Cache-Control headers tuned for SWR. Your CDN takes care of the rest.

The optional webhook (see Webhooks) is for cases where you want zero-second publishing — it just nudges your destination to revalidate the relevant paths.

What lives where

Concern Where it lives
Article body (HTML, Markdown, JSON-LD, FAQ, TOC) Mentionwell database, served via /api/public
Site chrome (header, footer, layout) Your destination repo
URL structure (/blog, /blog/[slug]) Your destination repo (typically)
SEO metadata for the article Mentionwell returns it; your destination renders it into <head>
RSS / JSON Feed / sitemap Mentionwell serves them; you link to them from your destination
Auth + roles Mentionwell handles internal auth; your destination only needs the read API key

What Mentionwell is not

  • Not a CMS. There's no rich-text editor for non-technical users; it's an AI editorial pipeline.
  • Not a static site generator. Posts aren't built into your site at deploy time.
  • Not a CDN. The reader API has caching headers; your destination's CDN does the actual edge serving.

Once this model clicks, every weird symptom ("post isn't showing", "it's stale", "preview is fine but prod isn't") collapses to either: env var wrong, cache stale, or post not published yet. Treat those three as your first checks every time.