Dylan Baker Software
dylan-baker.software is my CMS-driven personal portfolio site built as a fully containerised Statamic application, designed around a clean separation between application code, infrastructure, and deployment concerns.
The project is split into two main public-facing components:
-
a Statamic application template repository containing the full site source code with secrets removed (Statamic-Docker-Template)
-
a reverse proxy template repository containing the production-grade Nginx + TLS + routing configuration with sensitive configuration stripped out (Reverse-Proxy-Template)
These templates are derived from my production setup but sanitised so they can be shared safely without exposing certificates, environment secrets, or live infrastructure details. In production, these are two repos combined under a single deployment structure, but for open-source purposes they are deliberately separated to keep the system reusable and safe to inspect.
The site itself is built using Laravel 13 with Statamic v5, running on PHP 8.4-FPM with a flat-file content model. Content is managed through Statamic collections and Bard-based page builder sections, allowing pages to be composed from dynamically resolved Antlers partials rather than static templates. The frontend is powered by Vite with Tailwind CSS, Unpoly, Locomotive Scroll and GSAP.
A key architectural decision in this system is the strict separation between application and infrastructure. The Statamic application runs inside a containerised environment with Nginx, PHP-FPM, and a Node-based Vite dev server, all connected through a shared Docker network. This is intentionally decoupled from the reverse proxy layer, which lives in a separate repository and is responsible for TLS termination, domain routing, certificate management, and environment isolation between production and staging domains.
The reverse proxy handles HTTPS enforcement via Certbot with Cloudflare DNS validation, global security and caching headers, and routing rules for multiple services and subdomains. In development mode it also supports Vite HMR over WebSockets, forwarding hot module replacement traffic through secure proxy rules so that live frontend updates work correctly behind TLS.
On the application side, I built a Statamic-driven page builder system where Bard sections map directly to Antlers partials. This allows content editors to construct pages from reusable components while preserving a structured, component-based frontend architecture. I also implemented custom Statamic tags for secure inline SVG rendering and dynamic generation of complex UI elements such as the animated hero section.
The frontend layer combines Unpoly for partial navigation, GSAP and ScrollTrigger for scroll-driven animation, and Locomotive Scroll for smooth scrolling and pinned section behaviour. A custom partial loading system dynamically imports JavaScript modules and scoped CSS per section, with lifecycle hooks that initialise and clean up behaviour on navigation transitions.
A notable system-level feature is the theme colour orchestration layer, where navigation events trigger controlled palette changes that are synchronised with Unpoly’s fragment lifecycle, ensuring seamless transitions without visual flicker between page loads.
Overall, the project is not just a portfolio site, but a fully containerised, infrastructure-aware application that blends CMS-driven content management, modular frontend architecture, and production-grade deployment design into a single system.