NOTE 1 · Cyan only fills
The brand cyan is unreadable as text on latte, so there it only fills buttons. On espresso brown it can carry words.
Receipt · Contrast: cyan on latte 1.8 to 1; cyan on espresso 6.3 to 1 (computed).
OUR OWN COMPANY · STORE
My own dog-merch store: hoodies, coffee and nine grumpy dogs. It's open, and it hasn't made a sale yet.
grumpypuppyco.com · recorded 2026-09-25
The store takes real payments, so it's shown here as a recording.

NOTE 1 · Cyan only fills
The brand cyan is unreadable as text on latte, so there it only fills buttons. On espresso brown it can carry words.
Receipt · Contrast: cyan on latte 1.8 to 1; cyan on espresso 6.3 to 1 (computed).




NOTE 2 · No sales, no stars
No orders yet, so the store shows no stars or reviews. It offers 30-day returns instead.
Receipt · The store's returns promise, live since 2026-09-24.




NOTE 3 · A cast, not a catalog
Most merch stores look alike. This one has a cast: nine dogs with coffee orders, each given a job on the site.
Receipt · The store's cast file: nine dogs, each with an order and a grievance.
Swipe the dogs.
Nine AI-generated dog characters on tilted cards, each with a name, a breed, a coffee order and a complaint, from Bartleby the pug ("Quad shot. No foam. No eye contact.") to Tank the pit bull ("I look intimidating. I ordered a vanilla latte."). Swipe, or use the Back and Next buttons, to move from card to card.



NOTE 4 · Meet, not Shop
Dogs without a hoodie yet say "Meet Sarge", not "Shop". A link to an empty shelf would be a small lie.
Receipt · The store's cast cards, 2026-09-24.



NOTE 5 · Money before motion
The first audit's rule: fix the money before the motion. So only the server sets prices now, not the shopper's browser.
Receipt · The store's design audit, 2026-08-02.



Grumpy Puppy Co. is my own online store: dog hoodies, coffee, and a cast of grumpy dogs. When I audited it on 2026-08-02, it had three unrelated design systems, 18.8 MB of character art with the logo baked in, a checkout that took its price from the browser instead of setting it, and add-ons it showed but never billed. A store like this lives or dies on personality, and a merch store's personality is usually a logo on a product photo. It needed a voice nobody else could sell, and a checkout that charges exactly the price on the page.
The store is cast with nine dogs, each with a name, a coffee order, a grievance and a job on the site: Sarge guards the shipping promise, Peanut runs the newsletter, and Tank signs off the footer. They all come from one source file, so the voice stays the same everywhere. "The Morning Shift" walks the nine cards past as you scroll; it's a standard pinned scroll carrying original content, and I'd rather say so. Dogs without a hoodie yet say "Meet" instead of "Shop". The colors follow one rule: the brand's cyan fills buttons and bands but never carries text on the latte background, where it can't be read, so prices and headings sit in espresso brown. And following the audit's rule, fix the money before the motion, the checkout was rebuilt so only the server sets the price, and the catalog was cut to what actually exists.
It's mine: the audit, the design system, the build and the art direction. The dogs, the coffee film and the product photos are AI-generated, and they're labeled that way here. The store runs on a content system, so products are added without touching code, and its checkout is Stripe's own hosted page.
The store takes real payments, so it's shown here as a recording. Its link appears here once every order is recorded end to end, from payment to shipping.
Every site starts as several competing plans, drafted and critiqued with AI tools. I pick one, and say why.
No competing plans were drawn for this store. What came off it instead:
From the store's audit and launch cleanup, August–September 2026.
Tell me what your customers need to do on your site — call you, book a time, get a price, see your work — and I'll show you how yours should work.
I read every one and reply by email.
yourbusiness.com · not built yet
No two alike. Yours won't be either.