Website
Most of the work was what I didn't animate.
A site for CreativeDawgs, a growth studio I work closely with. The brief asked for something alive. The risk with a brief like that is a site where everything moves.

- The problem
- A growth studio I work with wanted a site that felt alive, without animation on everything.
- What I built
- A motion-led site with a strict animation budget, plus three demo businesses with working booking flows.
- The result
- The live site shows content in 1.34 seconds.
How I built it
The brief
Premium, playful, alive.
The studio's brief asked for a motion-led site, rather than a normal agency page with animation added afterwards. Visitors should come away feeling these people know how to make brands interesting.
Briefs like that usually end in forty-seven animations. Every section moves, so nothing stands out, and the site ends up saying 'look at our website' when it should be saying 'look at our agency'.
What mattered
A budget for motion.
I put three inputs side by side: the client brief, research on agency sites, and that month's Awwwards winners. Where all three agreed, the question was settled. Where they disagreed, I flagged it instead of guessing.
What got settled was a budget: one excellent hero animation, one excellent portfolio interaction, one memorable navigation, five to eight micro-interactions. After that, every animation had to answer one question: does this communicate something?
What I built
Then I measured it.
Before comparing the site with anyone else's, I measured the live deploy: 13 sections, 1.87MB transferred over 31 requests, first contentful paint at 1.34 seconds. Speed was not the problem.
The gaps were somewhere else. Ranked by what they cost: a single mailto link was the only way to enquire, there was no numeric proof anywhere, the work couldn't be clicked into, and placeholder entries were still marked provisional. The provisional entries have since gone from six to one.
Motion tied to the scroll
A pinned, scrubbed work sequence and chapter themes, in place of an effect on every block.
A demo suite built first
Three product worlds (dental, restaurant, fitness), each with a booking flow that triggers a live automation graph.

What is not done yet
One entry is still provisional.
The audit found six placeholder blocks. Five are no longer marked provisional.
- One content entry is still marked provisional in the site's data.
- The live site still loads an analytics script from its previous host, which now returns a 404. It does no harm, but it shouldn't be there.