What Kingsbury Creative needed
We needed a site that proved what we tell clients, without leaning on the things we tell them they do not need. No page builder, no purchased theme, no framework. The site itself had to be the portfolio.
It also had to work in both official languages, load fast on a rural connection, meet accessibility standards, and not look like the other agency sites in the Valley.
How we built it
Every line is ours. PHP 8 handles the routing and the bilingual URLs, and Vite bundles the CSS and JavaScript.
The hero runs a canvas animation we wrote: build lines, travelling dots that brighten as they pass through nodes, and a response to the cursor. GSAP and ScrollTrigger drive the scroll work, pinned process sections, section reveals and the services panel morph, with Lenis smoothing the scroll and staying in step with them.
The design system is a single file of CSS custom properties. Change that file and the whole site changes with it, which is the same structure we hand to a client at the end of a build.
How it turned out
Live since March 2026, in English and French with Canada-specific hreflang, self-hosted fonts and no render-blocking requests.
It carries what a working agency site needs: articles, town landing pages, these case studies, an audit request tool, and a contact form that writes into a small CRM we built. Every one of them was written, built and deployed with the process a client gets, which is the point. We are our own first client.
Accessibility is tested rather than assumed: keyboard paths, focus states, contrast and reduced-motion. And a few things are hidden here for the curious. View the source, try the Konami code, or ask us about the Valley.