Most headless CMSs make you choose: either you get a flexible schema builder with a raw JSON API (fast for developers, opaque for editors), or you get a polished page builder that only works for the exact page types the vendor anticipated. We wanted both, so CreatesOnline's content-type builder and its Dynamic Zone field type are the same primitive underneath.
Content types, fields, and components
A content type is a schema — a Single type has exactly one entry (a Homepage, a Settings page); a Collection type has many (Posts, Products, Services). Content types are made of fields, and one field type, component, lets a field reference a reusable block of its own fields — a Hero, a Pricing Table, a Footer.
The Dynamic Zone: components as page sections
A Dynamic Zone field holds an ordered list of components, each tagged with which component it is. An editor drags in a Hero, then a Category Grid, then a Footer, and each one renders through its own dedicated template — a real page builder, stored as plain JSON: [{"__component": "hero", "headline": "..."}, ...].
Why this matters
Because every section is just a component, the exact same Hero, Header, and Footer used on the homepage can be reused on the About or Pricing page with zero extra code — you're composing pages out of the same building blocks everywhere, which is exactly how this site's own About/Pricing/Contact pages are built.