
- Industry
- Dog Training, 3D Web
- Role
- Designer & Developer
- Year
- 2026
- Industry
- Dog Training, 3D Web
- Role
- Designer & Developer
- Year
- 2026
The Woof Dog Academy is a client project that turns a whole website into a game: a dog training academy in Amsterdam whose site is an explorable 3D planet. You visit it as a dog. The menu is a signpost, every page is a character you walk up to, and the first lesson of real training became a playable leash trial. I designed it in Figma and directed the AI across thirty-three sessions: code with Claude, artwork with Gemini, soundtrack with Suno. Shipped in Italian for its audience, live at thewoofdog.com.
A dog training academy in Amsterdam, and a brief that asked for different. My bet: build the whole site on the client's own method.
The brief
A dog training academy serving Amsterdam's Italian expat community, with basic and advanced programs. Every competitor had the same brochure site, and the client wanted something dynamic, unlike any of them. My call: don't describe the method. Let visitors live the dog-and-owner experience.
The bet, with guardrails
So the whole site became a game, built on familiar UX bones so nobody gets lost: the dog's walk replaces the scroll, and every interaction stays a classic card. Behind the fun sat hard acceptance criteria. Paint fast, run on phones, work as a real business front door.
Information architecture became level design: the visitor plays a dog on a tiny planet, and the four sections are places along its roads.
The world is the sitemap
The menu is a signpost at the crossroads, and every sign is an anchor link that auto-walks the dog to its destination. Every page is a character: walk up, press E, and a card opens with everything a page would carry. Text, details, a call to action, without ever leaving the walk.
The method as mechanics
Loose-leash walking is lesson one in real dog training, so it became the mini-game: walk beside the trainer, stay close, finish the lap. The leash snaps gently when you stray, nothing scolds you, you retry. Win, and the certificate walks you straight to the services: the game's climax doubles as the funnel.
Thirty-three working sessions run like a product: I framed each feature, briefed the AI, reviewed every change on screen, and kept every decision mine.
The discipline
A living handover carried architecture, gotchas and tuning knobs between sessions, so nothing had to be argued twice. I tracked the game script's size in bytes after every session and made each asset earn its place: a 31MB scenery model shipped at 0.63MB with its UVs intact.
The honest split
Claude wrote the code, Gemini the artwork, Suno the soundtrack. I designed every card and flow in Figma, judged each change the only way that counts, on screen, and owned the product calls. Direction and taste were never delegated.
From a 12.5MB single file to a 1.2MB first paint. Then hardened on real phones and shipped on the client's own domain.
Performance as design
Inlining every asset made development simple, and the page 12.5MB. Right for building, wrong for shipping: the assets moved to 22 cached files behind a small hydration loader with graceful fallbacks, and the music loads lazily, at the dog's first step.
Live, in the wild
On phones the site grew a joystick with hand-tuned analog steering, and one stubborn iOS double-tap zoom was hunted down and fixed. Deployed from GitHub to Vercel on a custom domain, in Italian for its audience: a working front door for a real business.





















