Skip to content
Matthew KenneyForward-Deployed Creative, BORN ON SUNDAY®
GREYT ANGELS · CLIENT SITE

A greyhound rescue’s website, redesigned and rebuilt end to end.

THE PROBLEM

The blog was the homepage, so adopters landed on posts and hunted for the dogs.

WHAT I DID
  • Designed the identity and all 16 pages
  • Built reusable pages volunteers can edit in Odoo
  • Audited the live site: 200 findings, 59 fixes
CLIENT
Greyt Angels
ROLE
Design + build, solo
WITH
The rescue’s volunteers — supplied the dog information, still edit everything in Odoo
YEAR
2026 · ongoing
RESULT

8% → 41%past page one, first 18h

16 pagessix kept URLs, ten new

Why the dogs come first

  • Adopters arrive for a dog, not for an org chart.
  • Two clicks reach a hound: home to Available Hounds, then the hound profile.
  • One template carries every hound: photographs, temperament tags, quick facts, adoption button.
  • A working donation module replaced a donate page with no working way to give.

Built for volunteers, not for me

  • The rescue runs on Odoo and has no developer.
  • Eight shared components mean one card fix reaches all sixteen pages.
  • A custom MCP server turns publishing and analytics into commands.
  • I designed in Paper, built with Claude Code, and checked locally before each publish.

Read the launch numbers honestly

  • Donate-page share moved from 2.4% to 9.3% in the same first 18 hours.
  • Facebook referrals in those 18 hours passed the previous six months.
  • Months of data, not one day, decide whether adoptions and giving changed.
A laptop on a walnut mid-century table in late afternoon light
The live Available hounds page: a filter row, then nine adoptable hounds with real photographs

GREYTANGELS.ORG/ADOPT — because adopters come for a dog.

The Greyt Angels build spec in Paper, open at the /donate rules

THE BUILD SPEC

LEARNED
Reported traffic was ~86% bots; the CRM was ~95% spam.
LEARNED
A ~100-year API token sat in the page HTML — removed before launch.
DECIDED
Put the dogs before the organization.
src/components/HoundCard.astro
Editor view of HoundCard.astro: the props interface and the article markup

HOUNDCARD.ASTRO — one card for every dog.

DESIGNED · IN PAPER◁ DRAG ▷BUILT · GREYTANGELS.ORG/ADOPT
Built half: the live adopt pageDesigned half: the adopt page as drawn in Paper

DESIGNED · BUILT — drag.

BEFORE
The old greytangels.org front page: a blog index of post cards

BEFORE — announcements first.

greytangels.org
The redesigned front door: The race is over. Home is next. beside a greyhound

AFTER — Meet the Hounds is the first button.

A hand holding a phone over the walnut table in late afternoon light
The Available hounds page at 390, in the hand

ADOPT AT 390 — live, in the hand.

TAKEAWAYS
  • The CMS workflow is part of the product. If a new dog is hard to publish, the site stops being useful.
  • Measure beyond launch day before claiming a durable result for adoption or giving.
Autumn dashboard on a laptop and a phone
NEXT PROJECT

Autumn

An AI-native hotel startup: the homepage that sells it, the dashboard that proves it

View all case studies