$ cat ~/projects/purrfect-match.md
Purrfect Match
A free WordPress plugin that puts a rescue’s adoptable pets on their website, in their look — a clean, filterable grid instead of a gray box that belongs to someone else. No API key, no server, no permission required.
$ ./purrfect-match --org FL1629 --live
Live, right now
These are CJ Paws’ actual adoptable cats, pulled into your browser the moment this page loaded — the same way the plugin renders them on the rescue’s own site. Filter by breed, size, or age; tap a cat to meet them on Petfinder.
$ man purrfect-match
No key. No catch.
An API key is a promise, and the last few years have been a lesson in how easily promises get revoked. So I didn’t ask for one. Petfinder already publishes the adoptable-pet data behind its embeddable widget — it’s already public. The plugin asks for that same public data from the visitor’s own browser, then draws it the rescue’s way. No secret sits on a server, because there’s no secret. If Petfinder’s widget works, this works.
Resolve
A GraphQL GetOrganization call turns a display id (FL1629) into the org's UUID.
Search
SearchAnimal returns the adoptable cats — name, photo, breed, size, age, location.
Render
The browser draws a branded, filterable grid. Gender's left out — it isn't in the data, so it won't pretend.
one line on any page:
[purrfect_match organization="FL1629" brand="#e93396"] FL1629 is CJ Paws’ Petfinder id;
#e93396 is their pink. That’s the entire setup —
ships with generic defaults so any rescue can drop in their own.
Coding for the cats
This isn’t a product — no roadmap, no pricing. It’s GPL and free. The reward is a cat getting seen by someone idly scrolling, and then not being on the page next week, because they got adopted. If you run a rescue and want it, it’s yours.