A CMS that actually uses AI for something useful
Personal blog backend with LLM-powered summaries, translation, and moderation wired into the content flow—not bolted on as an afterthought.

What it does
MX Space Core is a headless CMS built on NestJS and PostgreSQL for personal blogs and creator sites. It handles posts, notes, comments, feeds, and search, but the distinguishing feature is a built-in AI workflow: automatic summary generation, multi-language translation, comment moderation, and writing assistance via pluggable LLM providers (OpenAI, Anthropic, OpenRouter, and OpenAI-compatible APIs).
The interesting bit
The project recently executed a hard cutover from MongoDB to PostgreSQL (v11 → v12), complete with a one-shot migration CLI. The API enforces a strict response envelope—every success wraps in { data, meta? }, every error in { error: { code, message } }—with CI-enforced checks to prevent developers from accidentally double-wrapping or leaking raw objects. CamelCase internally, snake_case on the wire, enforced by pipes and interceptors. It’s the kind of pedantic boundary discipline that saves frontend teams headaches.
Key highlights
- 45 business modules in a NestJS monorepo, including a distributed Redis-backed task queue for AI jobs
- WebSocket broadcasting via Socket.IO with Redis adapter for multi-instance setups
- Auth via better-auth with sessions, passkeys, OAuth, and API keys (
x-api-keyheader) - Admin SPA built in React 19 + Vite, served from the same server at
/proxy/qaqdmin - Dual-licensed: AGPLv3 for the apps, MIT for packages and tooling
- Docker multi-arch images (
linux/amd64,linux/arm64) with ~unspecified pull count
Caveats
- Requires Node.js ≥22, PostgreSQL 16, Redis 7—no shortcuts on dependencies
- The MongoDB → PostgreSQL migration is one-way and mandatory for v12; plan accordingly
- AI features depend on external LLM providers; no local model support mentioned
Verdict
Worth a look if you run a personal blog or creator site and want AI assistance integrated into your publishing flow rather than copy-pasting into ChatGPT. Skip it if you need a general-purpose enterprise CMS or want to avoid managing PostgreSQL + Redis + LLM API keys.