01Cinematic Web Design
Motion that guides, not decorates
Most sites run on WordPress, off-the-shelf themes, zero motion design. A site that moves with intention stands out immediately — and is remembered.
Scroll-driven experiences with GSAP and Canvas: particle systems, SplitType reveals, motion designed scene by scene. The stated bar is Awwwards Site of the Day, not a premium theme.
GSAPCanvasMotion Design
Learn more ↗02TypeScript Engineering
Type-safe by design
A site that breaks with every deploy costs more than it seems: production bugs, refactors that become impossible, maintenance that gets slower every month.
100% strict TypeScript codebase, zero any, modular React 19 components. Architecture designed to scale without technical debt — if a feature is needed in a year, the code doesn't fight back.
TypeScript StrictReact 19Zero Technical Debt
Learn more ↗03Next.js Development
Performance as discipline
A large share of users abandon a site that takes more than 3 seconds to load. A slow site loses customers before it even shows itself.
App Router, React Server Components, Turbopack — a pinned Next.js 16 stack, not whatever the latest unstable release happens to be. The goal is green Core Web Vitals, measured with Lighthouse on every deploy, not promised in words.
Next.js 16React Server ComponentsCore Web Vitals
Learn more ↗04Design System
Token-driven, not improvised
Without a design system, every new page reinvents colours, spacing, components — and the site ages inconsistently, section by section.
A scalable design system with Style Dictionary: automated tokens, shared components (shadcn/ui), Storybook documentation. Consistency guaranteed even as the site grows, not just at launch.
Design TokensStorybookAccessibility
Learn more ↗05Motion & Interaction
Every pixel has a reason
The wrong animations slow the site down and frustrate people browsing on mobile with limited data or active accessibility preferences.
GPU-accelerated micro-interactions, narrative parallax, smooth 60fps transitions — always respecting prefers-reduced-motion. Motion guides attention, it doesn't slow the page down.
GSAPFramer MotionLenis
Learn more ↗06Tested before the client, not after
A site that "works on my machine" isn't tested. Bugs show up when it matters most: in front of a real client.
Lighthouse CI on every push, end-to-end testing with Playwright, zero axe-core accessibility violations. Deployed on Vercel with automatic previews for every change, before it touches production.
Lighthouse CIPlaywrightaxe-core
Learn more ↗