The problem
Delta K9 Academy has trained protection dogs in Los Angeles since 2012, under founder and head trainer Mike Israeli, a former military K9 handler. The clientele is high-end, the product is a living animal with nine to fourteen months of structured training behind it, and the press coverage was real. The website was not keeping up with any of that.
The old site was a gallery-heavy legacy build whose image library carried the thumbnail suffixes of a WordPress install. It could show dogs. It could not sell a package, because a Delta K9 purchase is a combination of breed preference, program, a specific dog, a training level, add-ons like a handler course or in-home delivery, and a maintenance membership. That conversation was happening entirely by phone. And the dog photos, shot on phones in a training hall with yellow walls and a red railing, made a six-figure dog look like a classified ad.
What the academy needed
- Let buyers configure the product: A guided flow that turns a complicated purchase into a structured brief the team can act on the same day.
- Sell the rest of the business too: Boarding, daycare, grooming, obedience, scent detection, entertainment dogs, memberships and accessories, each findable in search.
- Make every dog look the part: Consistent, studio-quality photos for a catalog that changes every week, without hiring a photographer every week.
- Keep the site editable: The team wanted to keep making changes in Lovable without breaking what engineers had built.
How AI is used
Computer vision, not generative imagery
The photo pipeline runs on Apple's Vision framework. A Swift step uses the animal recognizer to find the dog's bounding box and the foreground-instance mask request to cut the subject from the background. A Python step then applies rules rather than guesses: a square crop with the dog centred, 12.5% headroom and 3% footroom, the mask plus a 2% margin always inside the frame, and a fallback to a 1.25:1 wide crop when a lying dog cannot fit a square above the railing.
Colour is corrected by estimating the wall tone on both the source photo and a reference, applying white-balance gains so every wall lands on the same cool neutral, protecting highlights so ceiling lights stay white, lifting shadows only so black fur reads as fur, and setting a slightly blue black point. Every dog is exported at the same size and quality. The result is measurable, and a contact sheet against the reference is generated for a human to approve before anything ships.
One command for the client's new dogs
The pipeline is packaged as a Claude Code skill, so processing a new litter is one command with a mandatory verification step: look at the sheet, check for clipped ears or feet. The client's own rule is encoded in it. When a paw and a sliver of red railing compete for the frame, the railing stays and the paw is never clipped.
AI in the build, with guardrails
The site was scaffolded in Lovable and kept in bidirectional sync with GitHub, so the academy's team could make changes in a visual tool while engineers worked in code. A 210-line conventions file governs every AI-assisted edit: no touching the generated route tree, no React Router, no hex colour literals, mandatory error and not-found components on every route. There is no chatbot and no generated copy on the live site.
How we built it
The platform is TanStack Start with server-side rendering and file-based routing, running on Cloudflare Workers with images on ImageKit. Tailwind v4 carries the design tokens in CSS rather than a config file. The runtime constraint shaped the architecture: native image libraries do not run in Workers, so the photo pipeline stays a local tool and the site only ever serves finished assets.
The package builder
Seven collapsible steps, a questionnaire, and a sticky order summary that re-renders as the buyer chooses. No field is required, by design: an incomplete package is still a lead. The state lives in a persisted store shared with the cart and checkout, and the final step composes one structured brief, breed, service, dog, level, add-ons, membership, questionnaire answers and contact, that reaches the academy's inbox ready to act on.
What shipped
Timeline
- 16 May 2026: Phase 1 foundation, admin login, campaign assets and first publish.
- May to July 2026: Service library, store, press hub, builder, admin console. Legacy image library recovered from the old site.
- 11 July 2026: Launch-ready: photo crops and white balance finalised, sold-dog pricing UI.
- 24 August 2026: Photo pipeline run for the newest dogs and packaged as a one-command skill for ongoing use.
Problems worth talking about
Retouching as a spec
163 pages without 163 templates
Recovering the archive
Living inside Workers
Where it stands
What we can and cannot claim
The site is live at deltak9academy.com with the builder, the store, the press hub and the full service library. The admin console and account area are functional front-ends whose persistence is on the roadmap. We have not been given analytics access for this client, so this page carries no traffic, lead or conversion figures. The numbers above are counts from the codebase.
Pick a program, tell us about your life, and configure your dog.
— Delta K9 Academy, package builder
What This Project Does Well
Technologies Used
TanStack Start v1 (SSR, file-based routing), React 19, Vite 7, TypeScript strict, Tailwind CSS v4 with oklch design tokens, shadcn/ui, TanStack Query v5, Framer Motion, Zustand with persistence, react-hook-form and zod, Bun, Cloudflare Workers, ImageKit, Stripe Checkout, Crawlee, Apple Vision (VNRecognizeAnimalsRequest, VNGenerateForegroundInstanceMaskRequest), Python image processing
Ready to Build Something Similar?
Let's discuss how we can help transform your business with a custom digital solution.
