
Workshop Website Template
Full-stack Next.js 15 + Strapi CMS headless architecture. SSG with ISR, Docker deployment, nginx reverse proxy. PageSpeed 98+, Core Web Vitals optimized.
Full-Stack Developer
Visit websiteTechnologies
What I Built
Headless CMS Architecture
Next.js frontend with Strapi CMS via REST API. Static Generation with Incremental Static Regeneration (revalidate: 60s) for optimal caching strategy.
Docker Deployment
Multi-container setup: Next.js (Node), Strapi (Node), PostgreSQL. Docker Compose orchestration, nginx reverse proxy with SSL termination.
Type-safe Data Layer
Full TypeScript typing from Strapi content-types to React components. Zod validation on forms, server actions for email handling.
Challenge
Needed a scalable template for local businesses combining static site performance with CMS flexibility. Requirement: PageSpeed 95+ on mobile with full functionality.
Solution
Headless architecture: Next.js App Router (RSC, Server Actions) + Strapi as API. SSG for pages, ISR for content. Blog with MDX-like content, contact form with Resend, booking system with date validation.
Key Decisions
Next.js 15 App Router + React Server Components
Strapi v5 with PostgreSQL (not SQLite - production)
Docker multi-stage builds for smaller images
nginx as reverse proxy (SSL, cache, gzip)
Resend API for transactional emails
This isn't just a 'workshop website' - it's a production-ready template with real architecture. Same stack as SaaS applications, simplified for a specific use case. Every element can be extended: add auth, payments, customer portal.
Kacper Kawczak
Full-Stack Developer
Results
Template deployable in <1 day. Infrastructure as Code - single docker-compose.yml spins up everything. 98 PageSpeed mobile, <1s TTFB, CLS 0.