Dynamic CMS section system
A reusable section renderer that maps any content type to a homepage layout.
The problem
Each new content type used to need custom homepage code before it could appear on the site.
My role
Design + build
Dynamic CMS section system
A reusable section renderer that maps any CMS content type to a homepage layout. The public homepage builds its sections from the registered content types at request time, so adding or archiving a type reshapes the site without touching frontend code.
Key decisions
Sections are resolved from the content-type registry at request time, not generated at build time — a codegen step would have reintroduced exactly the coupling this system exists to remove. The renderer is deliberately generic: per-type presentation lives in section settings data, so a type can look different without earning custom code. And the core claim was tested literally rather than assumed — a throwaway content type was registered, showed up on the homepage with no code change, and was deleted again.
Outcome
Any published content type can be mapped to a homepage section with no code changes.
- 0 hardcoded homepage content types
Limitations
Genericity has a ceiling: a section that needs truly bespoke art direction still needs a developer. That trade is accepted, not accidental.