01Context
What this was
Several ecommerce projects required frequent content updates-seasonal campaigns, promotional banners, and landing pages-which previously required developer deployments.
02Problem
What was broken
Before
In traditional setups, content changes require code changes.
What had to change
Marketing teams depended on developers for even minor content updates. A simple banner change required a full deployment cycle:
- 01Pull request
- 02Code review
- 03CI build
- 04Production deployment
This slowed campaign execution and created operational bottlenecks.
03Solution
What I built
Headless CMS architecture
Strapi manages structured content and media. The Next.js storefront consumes content via API with a hybrid of SSG/ISR and on-demand paths where freshness matters.
Publishing → delivery
Webhooks trigger incremental regeneration so published changes appear quickly without rebuilding the entire storefront.
04Decisions
Key implementation decisions
- 01
API-first content delivery
REST (and optionally GraphQL) boundaries with predictable types; frontend requests only what each surface needs.
- 02
Business-driven content models
Specific types (hero, spotlight, testimonials, FAQs) with validation-reduces broken layouts from incomplete entries.
- 03
Media optimization
Cloudinary-backed delivery with responsive variants; Next.js Image wired to CDN URLs for performance.
- 04
Preview system
Draft/preview using Next.js draft mode and a shared secret so editors validate on the real storefront before publish.
05Impact
Operational impact
- Marketing updates website content without waiting on engineering for every change.
- Campaign publishing time drops from hours to minutes.
- Previews reduce “surprise” layouts after publish.
- CDN-backed media improves LCP and perceived speed.
06Results
Results
- Majority of routine content changes owned by marketing stakeholders.
- Zero-downtime content rollouts via ISR-style invalidation.
- Near-instant visibility of published updates compared to full redeploys.
- Less engineering time spent on copy and banner churn.
07Stack
Technology stack
- CMS
- Strapi 4
- Frontend
- Next.js 14
- Language
- TypeScript
- Database
- PostgreSQL
- Media
- Cloudinary CDN
- Hosting
- Railway + Vercel
