G-Academy CMS
An editorial CMS and learning platform for an enterprise academy.
- Năm
- 2025
- Khách hàng
- G-Academy
- Vai trò
- Lead engineer
- Thời gian
- 10 months
Case study
The brief
G-Academy needed a CMS that the editorial team could actually own — not a developer-driven JSON blob with a CMS skin on top, but a tool where a non-technical editor could ship a new course page on a Tuesday morning.
The approach
I picked Payload as the backbone because it lets me model the content domain cleanly while still giving editors a familiar admin UI. Around it I built:
- A content model for courses, lessons, instructors and learning paths that maps to the way the editorial team already thinks about their work — not the way the database would prefer.
- A block-based page builder with live previews. Each block is a typed React component with a JSON schema that drives the editor form.
- A role-based admin with three working roles (Editor, Reviewer, Admin) and an immutable audit trail.
The harder parts
The hardest part wasn't the CMS itself — it was migrating two years of legacy content without losing inbound links. I wrote a small CLI that walked the legacy export, mapped each item to the new schema, and emitted a redirect map. Production cutover took about ten minutes.
What I'd do differently
I'd lean even harder on the block library next time. The first version had three "kitchen sink" blocks that did everything; the rewrite split them into a dozen focused blocks and the editorial team immediately moved faster.
Bàn giao
- Content model for courses, lessons, instructors and learning paths
- Editor-friendly block library with live previews
- Public website with multi-locale routing and ISR
- Role-based admin (Editor, Reviewer, Admin) with audit trail
- Search, sitemap and structured-data integration
- CI/CD with preview deploys per PR
“The editorial team can ship a new course page on their own — that simply was not possible before.”
Stack
- Payload CMS
- Next.js
- TypeScript
- PostgreSQL
- S3
- Vercel
- Sentry