Engineering · field notes · in progress

Notes from the Skateland rebuild.

By MCD · mid-build, apr 2026 · final version lands after launch

Skateland West opened on San Antonio's Loop 410 in 1985. Their WordPress site came along years later and had been quietly getting in the way ever since. Here are the mid-build notes on moving them off it.

The short version is in the case study, and the real numbers land in the final writeup once the site has a month of live traffic under its belt. This post is for the decisions — what we threw away, what we kept, and the half-dozen calls where the interesting work actually happened.

Why not WordPress.

The honest answer isn't that WordPress is bad. It's that this particular WordPress install had calcified. A stack of plugins patched around each other over the years. A page builder nobody on staff knew how to use. A theme that had been hand-modified so many times it was brittle to touch. Updating the Friday-night schedule reliably meant a phone call to someone who knew the workarounds.

We looked at whether we could clean it up in place. We could have — for roughly the same investment, we could also get them onto something they'd still want to be on five years from now. The rebuild won out.

The stack we landed on.

Nothing on that list is fashionable. That's on purpose. Each piece is boring enough to maintain for the long haul without surprise. The most exciting infrastructure is infrastructure nobody notices.

The decisions that mattered.

01. Self-hosting vs. a managed CMS.

A hosted CMS would have landed the migration faster. It also would have put the rink's content behind someone else's login and added a monthly bill that grows with the content. The family was clear: we want to own it. A ~$14 VPS and a Postgres dump they can download any time answers that better than a SaaS can.

02. Newsletter: off the spreadsheet.

The rink's newsletter was going out from a personal Gmail account, addressed off a spreadsheet. Gmail caps sends around 400 a day, which the owner would bump into on busy promo weeks. We stood up Listmonk on the same VPS — self-hosted, no monthly bill, no daily cap — and scoped AWS SES as the outbound relay when the list is ready to outgrow residential deliverability. One less login, one less subscription, one less 400-address ceiling.

03. Keeping every word of the old copy.

The old site's copy was written by the owner herself. It was imperfect. It was also hers — it sounded like her. We migrated the wording almost verbatim and only edited where a sentence literally couldn't be true anymore. The new site sounds like the rink because we didn't try to improve the rink's voice.

04. Booking flow: stay on what works.

Our first sketch had us building a booking tool on-site — custom, customizable, feeding the event calendar directly. We offered it. The rink already ran bookings through a third-party provider the staff knew how to use. A new tool would have meant another login for the team and another surface for us to maintain. We left the provider in place and kept the offer on the table: when they're ready to own that surface too, we'll build it then.

05. Launch plan: quiet on purpose.

The new site has been live at a staging URL since late 2025. When we flip the rink's domain off WordPress, it won't be with a press release — both sites run side by side for a stretch while we watch what happens and fix the small things real traffic exposes. The goal is for regulars to show up Friday night and not notice anything except that the event page works on their phone now.

The hosting math.

The dollar question is the one we get asked the most when we describe this kind of rebuild. Here's the honest version, using the actual invoices on both sides:

About $230/yr saved on hosting alone. The more interesting number is what didn't show up on the old bill: a newsletter tool the owner was never going to pay for, a CMS she'd have had to re-learn, a page-builder license due every year. The new stack absorbs all of that without a new line item. The traffic-and-effort side of the math — what it costs us to keep running, what new signups are worth — lands here after 30 days on the client's own domain.

The point.

Skateland didn't need a better website. They needed their software to stop being in the way of the thing they're already great at: two generations of a family running a roller rink on Loop 410 with neon signage and seven-dollar Thursdays. The website is just a channel. The best thing we could do was make it quieter.

The slug on the footer isn't a joke. This kind of work goes slow on purpose. The rink has been there forty years. The software should aim for the same.

Filed under Engineering · Self-hosting apr 2026 · 7 min

Got software that's quietly getting in the way? Tell us what it's doing.

Start a project