Phase 2.5 · Lean content model
Pages now render from CMS blocks25
This entire page is rendered from a Matrix field. Editors compose pages by adding block entries — hero, feature grid, CTA — from a shared library.
Three deliverables
Samo testiram 2456
Tight content model, shared block library, per-install brand tokens.
- Shared block library
Same entry types power Page-Builder Matrix and CKEditor nested entries. One library, two contexts.
- Per-install brand
Brand handle in .env. data-brand on . CSS variables retheme every component at runtime.
- 80-field ceiling
Hard tripwire vs legacy 902 fields. Split blocks instead of extending them.
Ready to dive in?
Edit this page in CP, drag blocks around, add a hero image. Everything saves to project config.
- 902 → 28
Custom fields after rebuild
- 17 → 9
MVP blocks done so far
- 3
Brands themed at runtime
- 100%
Tailwind 4 + Alpine + Vite
“We deleted 902 fields. The new boilerplate has 28. Editors find what they need in seconds and we shipped three sites in the time the old one shipped one.”
Trusted by teams at
- Acme
- Globex
- Initech
- Hooli
- Stark Industries
- Wonka
Ready when you are
body text
hey
Novi tabovi3
Semantic HTML tag (accessibility & SEO). Visual size is controlled separately. Use h1 only once per page, h2 for top-level sections, h3+ for nested.
PAGE
Starter
For solo projects.
- 1 site
- Community support
- 1 brand theme
Pro
Most popularFor agencies running multiple brands.
€79/mo
- Unlimited sites
- Priority support
- Unlimited brand themes
- CKEditor + nested entries
Enterprise
For large rollouts.
Custom
- Dedicated engineer
- SLA + uptime guarantee
- Custom integrations
Can I use this with Craft 5 today?
Yes. The install is on Craft 5.10 and matches the craft6-briefing plan for the migration path.
How does brand switching work?
CSS variables scoped per [data-brand] selector. Tailwind utilities read the variables so a brand change re-themes every component without recompile.
Is the AI workflow optional?
Yes. The MCP plugin is dev-only — disabled on staging and prod via CRAFT_ENVIRONMENT gating.
How many fields are we using?
29 of an 80-field hard ceiling. The legacy install had 902.
-
Multi-brand theming
CSS variables + data-brand. One install, any client.
-
Atomic components
Lean partials, no global state leakage.
-
Design Tokens
JSON-backed dropdowns. JIT-safe.
-
Hyper links
One link field type, all variants.
-
80-field ceiling
Anti-target: 902.
-
Founder & CEO
-
Riley Park
Lead developer
-
Sam Okafor
Frontend developer
-
Kim Park
Content lead
We work with clients across Croatia, Slovenia, and the EU. Fill the form — or call +385 1 234 5678.
Ready to dive in?
eyebrow
Page header
neki text
Test Entry list
VELIKA AKCIJA
Smart pattern — reusing the rich blockHeading instead of duplicating eyebrow+heading inline. The right Craft 5 primitive here is a scoped Matrix field that only accepts blockHeading entries, max 1. Editor creates the heading inline with all its options (eyebrow, alignment, level, size, highlight) — and we delete the inline eyebrow and heading fields from blockEntryList.
Hey
Trsuted by
many
-
Ilija Man
HEY CEO
Započnite već danas
Prijava je zaprimljena.
-
Test
-
2222