Case study Animal rescue nonprofit

Muttville: Ruby on Rails modernization without downtime

A decade-old Rails platform modernized end to end — with zero disruption to Muttville's daily operations

Zero

Production cutover downtime

Zero

Critical incidents since launch

40–50%

Less time on content updates

8-10

Weeks from kickoff to delivery

Industry 01

Animal rescue nonprofit

Platform 02

Ruby on Rails web

Timeline 03

8–10 weeks

Approach 04

Zero downtime

Overview

A website that runs the mission, not the front page

Muttville Senior Dog Rescue, California's first senior dog rescue and the first cage-free shelter in the United States, partnered with JetRuby for Ruby on Rails modernization of its decade-old platform without disrupting daily operations.

The website is central to Muttville's mission, supporting dog adoptions, donations, volunteer registrations, and educational resources. JetRuby upgraded the application's outdated technology stack, implemented a modern content management system, and improved security and infrastructure — all while keeping the website live throughout the migration.

Muttville website preview

Challenge

Ten years of technical debt, zero room for disruption

A decade-old codebase

For more than ten years, Muttville relied on a legacy Ruby on Rails application that had become increasingly difficult to maintain, creating the need for legacy Ruby on Rails modernization.

Contractor dependency

Routine website updates depended on an external contractor, making even small content changes slow and expensive. Campaign banners, team pages, and fundraising content often required engineering support, while planned maintenance could take the website offline for several hours.

Business-critical integrations

At the same time, the platform supported business-critical integrations, including dog adoption listings, donation processing, volunteer management, and multilingual content. Any disruption could directly affect the organization's daily operations.

Website offline · Several hours · Engineering support required

The challenge was to modernize the platform without changing the familiar user experience or interrupting essential services.

Solution

A new architecture behind the same familiar website

JetRuby delivered a complete modernization of the application's architecture, rebuilding everything from the core language and framework to the database, content management, and security — while preserving the existing website design and user journeys down to the smallest detail.

The Ruby on Rails upgrade included moving Ruby from 2.3 to 3.4.5 and Rails from 4.2 to 8, alongside migrating the database from MySQL to PostgreSQL, replacing legacy PHP cron jobs with Sidekiq and Redis, and moving assets to cloud storage.

To eliminate the dependency on developers for routine website updates, JetRuby implemented Craft CMS with role-based permissions, responsive content previews, automated image processing, scheduled campaign management, and centralized content editing.

The modernization also strengthened the platform's security by introducing modern password hashing, two-factor authentication for the code repository itself, and real-time application monitoring with New Relic.

Technical highlights

Three tracks of one modernization

Platform Modernization

Gemfile.lock · diff

Ruby 2.3

Ruby 3.4.5

PHP cron jobs

Sidekiq + Redis

Rails 4.2

Rails 8

Local file storage

DigitalOcean Spaces

MySQL

PostgreSQL

Infrastructure & security

  • Automated deployments with GitHub Actions and Capistrano
  • New Relic application monitoring
  • Modern password hashing
  • Repository protected with two-factor authentication
  • Zero-downtime production deployment

Content management

  • Craft CMS implementation
  • Admin, Editor, and Publisher roles
  • Desktop, tablet, and mobile preview
  • Automatic image optimization
  • Scheduled campaign banners
  • Centralized reusable content management

Development Approach

Incremental by design, reliable by default

Because the website supports live adoptions, donations, and volunteer registrations, reliability was the project's highest priority.

Rather than performing a single high-risk migration, JetRuby approached the legacy Rails modernization incrementally, without fully rewriting the product. Every upgrade was verified before moving to the next stage, while critical integrations were continuously tested throughout the process. Equally important, the team preserved the existing interface and user journeys. Visitors experienced the same familiar website, while staff gained more control over content management behind the scenes.

Incremental modernization pipeline

Results

A more reliable, more independent platform

The modernized platform has been running successfully in production since April 22, 2026.

Zero downtime

During production cutover.

Zero critical incidents

Reported since launch.

No planned interruptions

Website maintenance no longer requires planned service interruptions.

Independent publishing

Staff can publish and update website content independently through Craft CMS.

40–50%

less staff time

Content updates are estimated to require 40-50% less staff time, eliminating the need to wait for an external contractor for routine changes.

Delivered within budget

The project was delivered within the planned budget and completed in approximately 8–10 weeks.

Muttville Senior Dog Rescue

It's hard to gauge the exact amount of time saved by introducing Craft CMS, but I'd venture to guess it's reduced the amount of time by about 40–50%, since the Muttville staff is now able to make changes ourselves instead of waiting for our contractor.

— The Muttville team

Continuing Partnership

Building on a successful modernization

Following the successful platform modernization, JetRuby continues to provide support and maintenance for the website.

As part of the ongoing collaboration, the team has also completed the discovery phase and prepared a technical proposal for a future AI-powered knowledge assistant designed to help visitors find information about adoption, fostering, hospice care, volunteering, and other Muttville services. The proposal is currently under client review.

Current status and future roadmap

Modernize a legacy Rails platform without rebuilding everything from scratch

JetRuby helps teams upgrade architecture, infrastructure, security, and content operations while preserving critical integrations and familiar user journeys.

Get in touch

Thank you for contacting us

Our manager will get back to you shortly. While waiting, you may visit our portfolio.

Contact us

By submitting request you agree to our Privacy Policy

By submitting request you agree to our Privacy Policy

Contact us

By submitting request you agree to our Privacy Policy