CJ ENM event pages and page builder
For the 2025 MAMA event pages, I split delivery so the page body loads fast from prepared copies while votes always get the latest data, and built a page builder that opens seasonal pages without developers.
- 2025.08 ~ 2025.12
- CJ ENM
- Cache policy and page builder design and build
Core value
Operators now open seasonal event pages themselves in the builder, where each season used to need a developer deploy.
Outcomes
- The page body is served from prepared copies, while voting skips stored copies to get live values
- Operators handle everything from editing to rolling back to an earlier version in one flow
- New page blocks are added by registering them, with no code changes
Tech stack
Context
A global awards show’s event page gets content updates and voting at the same time. For the 2025 MAMA event page, static content and dynamic data needed separate cache policies, and award results had to be refreshed as they changed. Separately, each season’s event page was built from scratch, so even a copy or design change required a developer deploy.
Decisions and implementation
- 2025 MAMA event page: I made the page body static so the CDN could answer quickly, and refreshed the cache only at the moment award results changed.
- Voting and real-time data went through a separate path that bypassed the cache, with safeguards that blocked abnormal requests.
- I deployed every language at once and split the meta tags by language so search engines indexed each version correctly.
- Low-code page builder: I separated content definition (a JSON schema) from rendering (components), so what was edited in the builder appeared unchanged on the live page.
- I cataloged the web builder’s components in three layers (sections, layouts, and blocks), so operators could assemble a page by dragging and preview it exactly as the live service would show it.
- I added a JSON runtime that lets the live page read the builder’s schema directly, so a new component needed only registration, with no other code change. Editing, preview, deployment, and version rollback became one flow.
