01The brief
I compete in Fast CAT with my own dog, and the official rankings page inverts how owners think: breed code first, dog name never. I wanted the product I wished existed — a real one, with accounts, not a toy.
02What I built
Name-first search that ranks exact and prefix matches above noise; per-dog dashboards with speed over time and percentile against the breed; head-to-head comparison; favorites and weekly email digests; shareable profile cards; a premium studio where owners log their own runs with race-day weather pulled automatically; events, clubs and a vendor directory; an admin console; and the scraper plus de-duplication pipeline that keeps 73,000 dogs clean. Stripe is a seam — no key means a labelled demo subscription, a key means real billing with no code changes.
03Outcome
Live at coursingclub.com as an independent fan site (not AKC-affiliated). A six-dimension adversarial launch audit surfaced 63 confirmed findings before launch; all criticals and highs were fixed first.

