A project that went through two distinct technical phases — and the challenge of the second was to make it indistinguishable from the first.
Phase 1 — Next.js + Headless WordPress
The site was initially built with Next.js and styled with Tailwind CSS, using WordPress as a headless content source. This gave full control over the front-end architecture: routing, rendering, component structure, and a rich set of scroll-driven animations and UI interactions built directly into the React layer.
Phase 2 — Full WordPress Migration
The site was later moved entirely into WordPress to give the client direct CMS control over layout and content without a decoupled front end. The core challenge was carrying everything from Phase 1 into the WordPress environment without regression — not just the visual styles, but all the interaction patterns and animation behaviors that had been built in React.
This required a purpose-built approach: a fully custom WordPress theme structured with custom theme parts, custom shortcodes for reusable content blocks, and custom Elementor widgets to replicate the component-level flexibility of the original React architecture. The Tailwind CSS system was integrated into the theme build pipeline, preserving the design language and utility class structure from the original codebase.