The Ultimate Visual Page Builder.
Traditional headless CMSs abandon the marketing team, forcing them into rigid text forms. Aeion Content changes everything with a state-of-the-art Visual Editor. Drag and drop over 100 dynamic blocks, collaborate in real-time, generate entire layouts with AI, and design without writing a single line of code.
Design Without Limits
100+ Native Content Blocks
Don't start from scratch. Drag and drop pre-built components including Hero sections, Feature Grids, Testimonial Carousels, Interactive FAQS, and Video embeds directly onto the page. Add framer-motion powered Micro-Interactions instantly.
AI Page Generation & Personalization
Type a prompt to generate layouts instantly. The builder also supports full A/B Testing and Persona-based visibility rules at the block level, allowing you to serve hyper-targeted component variations to different user segments.
Multiplayer Collaboration & Safety
Built on the same Yjs CRDT technology as Aeion Workspace. Edit landing pages simultaneously. A dedicated 'Interact Mode' allows editors to test interactive components while natively intercepting form submissions to prevent accidental page navigations.
Global Synced Patterns & Merge Tags
Stop duplicating effort. Save entire layouts as a Global Pattern to sync them across the site instantly. Embed dynamic inline `{{ user.firstName }}` Merge Tags directly into text or structural blocks.
Cross-Module Commerce Blocks & Data Binding
Because Aeion Content is native to the OS, it speaks to your inventory. Drag a `Commerce Product` block onto the canvas, or bind any layout directly to external data sources to populate live prices and content automatically.
Responsive Live Preview
Switch between Desktop, Tablet, and Mobile views instantly. Ensure your typography scales correctly and your multi-column grids collapse gracefully before you ever hit the "Publish" button.
Structural Integrity Meets Creativity
Structured Output, Not Div Soup
The builder does not generate messy `<div>` soup like legacy WordPress plugins. It serializes the canvas into a strictly-typed JSONB block tree — the same structured content model the rest of Aeion Content is built on — so every page is data your frontend can validate, diff, and cache instead of opaque markup.
The React Renderer
Your developers map these clean JSON nodes (e.g., `{ type: "hero", heading: "Sale" }`) to your own custom frontend React components — no proprietary SDK to install, just the JSON block contract — guaranteeing that the marketer's design always adheres to your brand's strict CSS design system. Because the contract is the JSON shape rather than rendered HTML, the same page can render on web, in a native mobile app, or anywhere else that speaks the block schema.
Versioned by Default
Every save is captured as a version. Because the page is structured data and not HTML, the platform can show a granular diff between any two revisions and roll a page back one-click — a marketing mistake is never a permanent one.
Frequently Asked Questions
No — marketers drag and drop the 100+ native blocks, edit copy inline, and preview across Desktop, Tablet, and Mobile without touching code. Developers come in once, to map the JSON block types to your React components; after that the marketing team ships pages on its own.
A strictly-typed structured block tree (JSONB), not HTML. Your frontend requests that tree from the Content API and renders it with your own components, so there's no `dangerouslySetInnerHTML` and no bloated markup to cache.
The editor is built on the same Yjs CRDT technology as Aeion Workspace. Concurrent edits merge at the data level rather than last-write-wins, so two people can build the same landing page at once without clobbering each other.
Yes. Because the editor is native to the OS, a Commerce Product block reads your live inventory and pricing, and layouts can bind to other data sources so content stays current without manual updates.
Save any layout as a Global Pattern and it syncs everywhere it's used — update the pattern once and every page that references it updates too. Inline Merge Tags like `{{ user.firstName }}` let a single pattern personalize per visitor.