DEV Community

Eric Moore
Eric Moore

Posted on

I Built a CMS That Models Everything — Here's Why

Every organization I've worked with has the same problem: a patchwork of tools that don't talk to each other. A headless CMS for the website. A commerce platform for products. Feature flags in LaunchDarkly. People data in an HRIS. Project tracking in Jira. Each tool solves a slice, but none share a common model.

I spent the last year building Architect — a single, AI-native platform that can model, manage, and orchestrate anything.

What Is Architect?

Architect is a universal content modeling system. Instead of choosing between a CMS, a commerce suite, or a custom database, you define your own models — with fields, relations, and rules — and Architect handles the rest.

Want to model blog posts? Products with multi-currency pricing? An org chart? Feature flags? Lifecycle functions that fire when entries change? It's all the same system: models and entries in a graph, connected however you need them.

The tagline: Model Everything. Connect Anything. Ship Faster.

The Architecture That Makes It Work

Under the hood, Architect follows clean hexagonal architecture — ports, adapters, and a domain core that knows nothing about persistence.

  • Graph-native storage (Neo4j) treats everything as nodes and relationships
  • Git-based persistence gives you branchable content workflows — dev, staging, prod with PR-style merges and conflict resolution
  • Factory-pattern dependency injection lets you swap persistence adapters without touching business logic
  • A unified API consolidates 130+ endpoints into a single service

The key insight: when your data layer is a graph, everything connects naturally. A product links to its pricing tiers, which link to loyalty programs, which link to customer segments. No joins. No denormalization. Just follow the edges.

Context Providers: Content That Adapts

This is where Architect gets interesting for content teams. Context Providers let you define who sees what without writing code.

Say you sell skincare globally. Instead of maintaining 50 landing pages for different markets, you create one product entry and add context overrides:

  • Global: "Shop our premium skincare collection"
  • Germany: "Entdecken Sie unsere Premium-Hautpflege-Kollektion"
  • VIP customers: "Exclusive early access to premium skincare"

The system resolves the right content automatically using hierarchical inheritance. Germany + VIP? Both overrides combine. A new market launches? It inherits global content immediately and you override only what's different.

Context Providers support three resolution strategies:

  • Direct — simple field value matching (e.g., customer gender)
  • Traversal — navigate relationships (e.g., customer -> loyalty tier -> level)
  • Temporal — time-based context (holiday pricing, seasonal campaigns)

The result: marketing teams localize and personalize without filing dev tickets.

Lifecycle Functions: Code That Runs on Content Events

Architect lets you attach JavaScript functions to content lifecycle events — before or after create, update, or delete. These are authored conversationally with an AI assistant that understands your model schema.

Tell the AI: "When a cart entry is saved, calculate the total by summing line item prices and round to the nearest cent."

It generates the function, validates field names against your schema, and lets you enable it with a click. Non-technical users can ask the AI "What does this function do?" and get a plain English explanation.

Functions run sandboxed with access to entry data, context resolution, an AI Assistant endpoint, Service Providers you define (think Stripe as a payment provider), and an HTTP service for external calls.

Environments: Git-Style Content Workflows

Content goes through environments — development, staging, production, or any custom hierarchy you define. Each environment is an isolated branch of your content.

The killer feature: environment comparison and selective promotion. A visual diff shows you exactly what changed between environments — field by field, entry by entry, model by model. You cherry-pick which changes to promote, resolve conflicts visually, and roll back if something goes wrong. This works for lifecycle functions and context actions as well.

We recently added AI-generated explanations for lifecycle function diffs, so even non-technical reviewers can understand what changed in the code: "This function now rounds up to the nearest dollar instead of the nearest cent."

Context Actions: On-Demand AI Tools

Context Actions are user-triggered functions bound to Context Providers. Think of them as custom AI tools your content team can invoke on demand — translate content to a language, generate product descriptions for a market segment, calculate regional pricing.

They're authored the same way as lifecycle functions: conversationally, with AI assistance, and with full access to your content graph.

MCP Servers: Plug Architect Into Your AI Workflow

Architect exposes an MCP (Model Context Protocol) server, so AI assistants like Claude can read and manipulate your content graph directly. Combined with Skills, this means your AI tools understand your data model natively — not through fragile API wrappers, but through structured tool definitions that stay in sync with your schema.

The AI Layer

AI isn't bolted on as a chat widget. It's woven into every layer:

  • Schema design — describe what you want to model and the AI builds it
  • Content creation — generate entries, translate fields, bulk-update metadata
  • Code generation — lifecycle functions and context actions authored conversationally
  • Visual analysis — the agent can view and describe your uploaded images
  • Diff explanation — AI summarizes code changes for non-technical reviewers

The agent has access to 70+ MCP tools spanning models, entries, assets, and display — and can chain up to 50 tool calls in a single request for bulk operations. It comes with a complete set of open skills. And finally it has several 'voice mode's using full streaming conversational interactions using livekit. You can interrupt, and talk to it in a normal conversational tone.

See It In Action

I've recorded a series of walkthrough videos covering the full system:

  1. Modelling Basics — Models, Entries, and Context Providers
  2. Advanced Context Providers — Hierarchical inheritance and resolution strategies
  3. Lifecycle Functions — AI-authored code that runs on content events
  4. Context Actions — On-demand AI tools for content teams
  5. Environments — Git-style content workflows with visual diff and promotion
  6. MCP Servers and Skills — Plugging Architect into your AI workflow

Check them out on the Architect CMS YouTube channel.

Why I Built This

I was tired of watching teams cobble together five SaaS products to do what one well-designed system could handle. Every integration is a liability. Every data silo is a missed connection. Every "just use a spreadsheet for now" becomes permanent infrastructure.

Architect isn't trying to replace every tool overnight. It's trying to prove that a single, flexible modeling layer with AI assistance and graph-native storage can handle use cases that currently require separate CMS, commerce, config, and workflow tools.

If that resonates, check out the videos, try it out, or just tell me I'm wrong in the comments. I'd love to hear what you think.


Architect is built with Node.js, React, Neo4j, and Docker. The AI layer integrates both OpenAI and Anthropic Claude models.

We will be releasing a free deployment and gather feedback from any interested parties this next week. One note: you bring your AI API keys for inference, and then you can use it to your hearts content.

Email contact: slantedwalker@gmail.com

Top comments (0)