Firefly Web Services

A Customized Data Pipeline for a Price-Sensitive Non-Profit

A robust but inexpensive data pipeline keeps an animal shelter's website in sync with its third-party CRM, saving staff from duplicate manual data entry.

Client
Humane Society of Sonoma County
Date
January 2020 – June 2021
Technologies
AWS LightSail, Digital Ocean, WordPress, PHP, ShelterBuddy REST API, ACF Pro, FacetWP, WP All Import, EasyCron

The Humane Society of Sonoma County needs its website to show up-to-the-minute information about the pets in its care. When they approached me, staff were forced to enter information about each pet admitted into their system twice: once for their third-party shelter management software (ShelterBuddy) and then a second time for their own website. The fragility of this system was obvious to everyone: animals were constantly being admitted and adopted, but synchronization of the two data sets was slow and error-prone, in addition to wasting hours of valuable time.

To address this dilemma, I built a scheduled pipeline: a custom plugin on a proxy server polls* the ShelterBuddy API roughly every five minutes and packages data to be displayed on the website into a JSON file. A cron job on the client’s web server imports the JSON file and loads it into the database so that updated information can be displayed on the website. This low-cost solution has kept the shelter’s listings accurate for several years with no manual data entry and little down time. Staff were especially appreciative of the maintenance guide PDF I prepared for them and UX touches such as a “new” badge for recently listed animals.

*ShelterBuddy didn’t have webhooks until mid-2024