Head to head
Stop guessing which one. Put them side by side.
Up to 4 tools, same rows for each: what it is, what it really costs, the trap, and how to wire it up. The URL carries your picks — send it to anyone.
GhostKeystaticMDX
Quick read
- Free with no card: Keystatic, MDX.
| Field | Ghostghost.org | Keystatickeystatic.com | MDXmdxjs.com |
|---|---|---|---|
| What it is | Ghost is an MIT-licensed publishing platform with a genuinely polished writing editor, membership and paid-subscription billing, and email newsletters built in. It can run headless through its Content API while keeping the native admin for writers. | Keystatic from Thinkmill is an MIT-licensed CMS that makes Markdown, MDX, JSON and YAML in your repository editable through a React admin UI. There is no database. It runs against the local filesystem in development and against GitHub in production. | MDX is a format that lets you write JSX inside Markdown, so an article can embed live React components — charts, interactive figures, embeds — between paragraphs of prose. It compiles to a React component and is supported by Vite, Next.js and Astro. |
| Category | CMS & content infrastructure | CMS & content infrastructure | CMS & content infrastructure |
| Cost tier | mixed | free | free |
| Pricing | Self-host free (MIT). Ghost(Pro) Starter $18/mo yearly (1k members, 1 staff), Publisher $29/mo (3 staff), Business $199/mo (10k members, 15 staff). | Free and MIT-licensed with no seat limits. Keystatic Cloud is an optional free add-on for GitHub auth and image handling. | Free, MIT-licensed open format. |
| Why builders pick it | The only option here that ships paid subscriptions and newsletter delivery out of the box — if the publication's business model is paying readers, Ghost skips months of build work. | Zero cost and zero vendor lock-in — the schema is a TypeScript file and content stays as plain files you can grep and diff. Ships integrations for Next.js, Astro and Remix. | The reason a technical publication can ship an interactive explainer inside an ordinary article. Every file-based tool here — Tina, Keystatic, Outstatic, Velite — speaks it natively. |
| Watch out for | Going headless means giving up its themes and much of its built-in SEO and membership front end. Self-hosting adds mail delivery costs of roughly $15-$35/mo. Content modeling is fixed to posts, pages, tags and authors. | Smaller community and slower release cadence than Tina or Payload. No official MCP server, no built-in scheduling, and no multi-stage editorial workflow or approval chain. | MDX is a compiler, not a CMS: no editor, no media library, no workflow, no roles. Non-technical writers will not author raw MDX, so pair it with an editing layer. |
| How to wire it up | npm i -g ghost-cli | npm create @keystatic@latest | npm i @mdx-js/rollup |
| Editor's pick | No | No | No |
Which one did you ship?
The grid says what these tools are. This says what builders did about it — one decision per person, changeable whenever you change your mind.
0/280Sign in to add yours.
Or try
Hand this to your Lovable agent
# Tool comparison — Ghost vs Keystatic vs MDX Source: Kbaise, a directory of tools that work with Lovable projects. Pick one and tell me why before writing any integration code. ## Ghost (ghost) - URL: https://ghost.org - Category: CMS & content infrastructure - Cost: mixed — Self-host free (MIT). Ghost(Pro) Starter $18/mo yearly (1k members, 1 staff), Publisher $29/mo (3 staff), Business $199/mo (10k members, 15 staff). - What it is: Ghost is an MIT-licensed publishing platform with a genuinely polished writing editor, membership and paid-subscription billing, and email newsletters built in. It can run headless through its Content API while keeping the native admin for writers. - Why builders pick it: The only option here that ships paid subscriptions and newsletter delivery out of the box — if the publication's business model is paying readers, Ghost skips months of build work. - Trap: Going headless means giving up its themes and much of its built-in SEO and membership front end. Self-hosting adds mail delivery costs of roughly $15-$35/mo. Content modeling is fixed to posts, pages, tags and authors. - Wiring: npm i -g ghost-cli - Full dossier: /api/public/tools/ghost ## Keystatic (keystatic) - URL: https://keystatic.com - Category: CMS & content infrastructure - Cost: free — Free and MIT-licensed with no seat limits. Keystatic Cloud is an optional free add-on for GitHub auth and image handling. - What it is: Keystatic from Thinkmill is an MIT-licensed CMS that makes Markdown, MDX, JSON and YAML in your repository editable through a React admin UI. There is no database. It runs against the local filesystem in development and against GitHub in production. - Why builders pick it: Zero cost and zero vendor lock-in — the schema is a TypeScript file and content stays as plain files you can grep and diff. Ships integrations for Next.js, Astro and Remix. - Trap: Smaller community and slower release cadence than Tina or Payload. No official MCP server, no built-in scheduling, and no multi-stage editorial workflow or approval chain. - Wiring: npm create @keystatic@latest - Full dossier: /api/public/tools/keystatic ## MDX (mdx) - URL: https://mdxjs.com - Category: CMS & content infrastructure - Cost: free — Free, MIT-licensed open format. - What it is: MDX is a format that lets you write JSX inside Markdown, so an article can embed live React components — charts, interactive figures, embeds — between paragraphs of prose. It compiles to a React component and is supported by Vite, Next.js and Astro. - Why builders pick it: The reason a technical publication can ship an interactive explainer inside an ordinary article. Every file-based tool here — Tina, Keystatic, Outstatic, Velite — speaks it natively. - Trap: MDX is a compiler, not a CMS: no editor, no media library, no workflow, no roles. Non-technical writers will not author raw MDX, so pair it with an editing layer. - Wiring: npm i @mdx-js/rollup - Full dossier: /api/public/tools/mdx ## Quick read - Free with no card: Keystatic, MDX. ## Rules 1. Prefer the free tier when no budget was stated, and say what the ceiling is. 2. Read the full dossier before integrating. 3. Fetch /api/public/models before writing any AI model ID.
Agents can fetch the same thing: GET /api/public/compare?slugs=ghost,keystatic,mdx