Skip to main content

Before you fix the website, walk the dogs

By:

November 4, 2026 | , ,

When I started fostering dogs almost 5 years ago, Scarlett came to us with a sweet, scared demeanor and quickly stole our hearts. Over time, she blossomed into a dog that loved cuddles and adventures and got the zoomies. She eventually found her forever home, and I was hooked on fostering! I went on to foster 12 more dogs and loved each and every one. 

A couple of years later, my beloved grandmother died, and I took in her lovable but crazy dog, Melly, as a foster. I pounded the pavement to find Melly a home, desperately begging rescues in the area to post her on my behalf to help find a good match for her. I felt alone, frustrated, and sad. I had promised my grandma that I would find Melly a home, but I was met with an overwhelming amount of internet dead ends, no responses, and wild goose chases.

Melly the dog
Melly

A distinct moment of hope during my journey with Melly was when Jelly’s Place Animal Rescue responded to my plea for help. I remember being so delighted when they shared a courtesy post telling the community that she was looking for a home. I no longer felt alone. 

Melly eventually got adopted by a wonderful couple and now lives her best life with her family in the Santa Cruz Mountains. I hear her favorite game is kill-a-toy, where she gets a new toy and gets to absolutely destroy it. No toy is indestructible for Melly. 

After my experience with Melly, I reached back out to Jelly’s Place and applied to be a dog walker. I became immersed in the Jelly’s Place community, walking dogs for 6-8 hours a week. These dogs became an important part of my life. Chewy’s mom found him through a TikTok I posted and drove two hours to pick him up. Buddy was so cute peering up at me from the kennel that I couldn’t help but take him home to foster him, and he got adopted by a family friend! Moose is sweet but slow to trust humans and is still waiting for his forever home after years at Jelly’s Place. I came to admire the small, dedicated crew that kept Jelly’s Place running. 

Chewy the dog
Chewy

Over the years, as faces became familiar, I began to understand the dynamics of the staff, the challenges the rescue faces, and the landscape of the work they do. It took me two years to gain the trust I needed to say: “Hey, your website really doesn’t work. Can I take a look and try to fix it?”

I’d noticed that if you look at the animal listings and scroll down to a dog or cat down at the bottom of the page, clicking on that dog or cat to learn more information about them led them to…a blank page. Imagine wanting to adopt and hitting a dead end because the webpage is suddenly gone! 

The barrier between a rescue animal and their forever home should not be a bad UI.

It took quite a bit of investigating to figure out what had happened. Turns out, the missing information was just a scroll away. Even though the content changed, the page itself was still the height it had needed to be to fit all the animals. I was convinced that the fix would be easy and that, if I had access to the website, I could just update the code to dynamically change the height of the page according to the height of the iframe content.

When I first offered to help, I was met with a lot of hesitation. The team feared that I would make changes that they wouldn’t be able to maintain, and then drop off the map. That’s a real problem with volunteers (and government vendors, as it turns out); they come and go without taking real responsibility. 

I finally got access to their website builder. The-website-builder-that-will-not-be-named is a low-code website that allows users to drag and drop the content they want on their website. The animal listings are in an iframe provided by Shelterluv, the shelter CRM commonly used by animal rescues. 

And therein lay the issue. The Shelterluv iframe was a variable length, but the-website-builder-that-will-not-be-named didn’t allow any mechanism to adjust the height of their pages dynamically. You set the height, and that was that, so the page was set to a super tall height to accommodate for whatever length the iframe might be.

I tried my darndest to add custom code to the iframe that would override the-website-builder-that-will-not-be-named’s page height, to no avail. Switching website builders was not an option, so I decided that the only path forward would be to build my own animal listings iframe with a fixed height that the-website-builder-that-will-not-be-named could handle. (This issue isn’t exclusive to the-website-builder-that-will-not-be-named – it is a common issue among low-code static websites.) Luckily, Shelterluv’s APIs are all public, and I was able to create an animal listings iframe that paginated and remained a fixed height. 

APIs unlock the data that drives mission outcomes, such as enabling a dog to have the zoomies in a backyard they can now call their own or a cat finally finding the lap they belong in. 

Since fixing that original issue, I’ve built out other features that are useful to the rescue, such as Foster Me and Adoption Fee Sponsored banners, as well as a custom Sponsor link on the animal details page. I started out really small, just fixing that one bug, but over the years I have helped Jelly’s Place with Excel spreadsheets for scheduling, data imports to align email lists, and continued work on the website. One impactful change I made was to add a donate button to the top of the website. That small change increased donations dramatically.

The Jelly's Place website header before Tallulah added a donation button
Image 1: A previous header without the Donate button. 
The Jelly's Place website header with the new Donate button added
Image 2: Current header, with a prominent Donate button. 

A simple change in information architecture ensured the shelter has more money for operations and life-saving medical procedures.

I’ve found myself wearing many more hats than just “software engineer” for Jelly’s Place. Sometimes, I find myself in over my head because I am certainly not a content or UX designer, and that’s really who they need, but I do my best. However, I think the biggest skill I brought to the table was trust. Any other skill I could figure out along the way, but the real work I put in was the years of showing up. I could never have walked into their office all those years ago and told them exactly what they needed, because I really didn’t know. 

Spending time absorbing information and building trust helped me understand where the needs are and where I could help. And more importantly, showing them that I wasn’t going to disappear made all the difference.

Folks who work in direct services, not limited to those at the animal rescues, are drowning in day-to-day tasks that they have to complete just to remain operational. Figuring out how the-website-builder-that-will-not-be-named works is the last of their concerns when they are taking in a litter of kittens that was found behind a dumpster or rehabilitating a dog that was surrendered, emaciated, with a broken leg. 

Websites and forms don’t seem like the be-all and end-all of an organization. But oftentimes they are the first and only touchpoint someone in need has with your service, so they had better not scare someone away. And as much as a product can sell you on being easy to use without needing technical skills, there’s a whole world of consideration and thought that goes into good software development that no website builder can replace. 

So, does an animal rescue need a software engineer? Short answer: yes. Long answer: It depends on the kind of software engineer. I didn’t approach Jelly’s Place thinking I would gain their trust and overhaul their digital services; I got involved in a community working on a cause I care about and offered to help. That started with walking dogs. Incidentally, I learned about the rescue operations and became a trusted member of the community. Over time, dog walking evolved into repairing and improving the digital front door, joining the fundraising team, and making small technical improvements that led to more donations, eased staff burdens, and helped more dogs and cats find homes. To this day, I still walk dogs and do other support tasks like writing and sending emails, planning events, transporting animals, and really anything that is needed. Most importantly, Moose and I have a standing date to go to the beach together every week. I was never really offering services as a software engineer. I was offering care, dedication, and commitment, and I happened to have a specific skill that I could contribute.

To make changes to a system, you first have to learn the people, processes, and technology behind it. 

Care and trust are the pillars of the work we do in civic tech. It’s hard to organically integrate yourself into the government the way I have at Jelly’s Place. But the motivation of a project should not start with “overhaul the digital service.” It should start with understanding how things work and figuring out how we can help.

Tallulah carrying Scarlett when she was afraid to go on a walk
Scarlett, afraid to go on a walk

Join Blue Tiger in supporting Jelly’s Place 💙

Jelly’s Place is a 501(c)(3) nonprofit, no-kill animal rescue shelter in San Pablo, CA, where they provide a safe haven and second chance for abandoned, neglected, and at-risk animals. Jelly’s Place is funded solely through our generous donors, grants and fundraising activities.

Help Jelly’s Place meet their end-of-year fundraising goal by making a donation today

A few of the wonderful people and animals mentioned in this post:

Gramma Suzanne and Tallulah, Buddy when he first arrived at Jelly’s Place before he found his forever home, and Moose enjoying a day at the beach.