Boring Rails

Boring Rails: Skip the bullshit and ship fast

Learn about the boring tools and practices used by Basecamp, GitHub, and Shopify to keep you as happy and productive as the day you typed rails new

Get notified when new Boring Rails content is posted

What's the secret sauce?

  • Majestic Monoliths riding on vanilla Rails

  • Boring Backends with Postgres, Redis, and Sidekiq

  • JavaScript Sprinkles with Hotwire, TurboDrive, and Stimulus

  • Avoid CSS Hell with TailwindCSS

  • The 80/20 Answers for Performance and Scaling

Articles

Building a Rails CI pipeline with GitHub Actions

GitHub Actions is an automation platform that you run directly from inside a repository. We can use it as a testing CI/CD pipeline and keep everything close to the code.

Magic Responsive Tables with Stimulus and IntersectionObserver

Responsive HTML data tables are a tricky problem that usually requires scrolling on small screens. With a sprinkle of Stimulus and the IntersectionObserver API, we can build a small enhancement to make the user experience more pleasant.

Hacktoberfest Recap: Open source Ruby/Rails work in 2020

A recap of my Rails-related contributions for the 2020 Hacktoberfest event: ViewComponent, Bullet, LRUG, and Circulate

Building GitHub-style Hovercards with StimulusJS and HTML-over-the-wire

Turbolinks, Stimulus, and Server Rendered HTML is a compelling alternative to modern JavaScript single page apps. Let's build a hovercard to see how you can kick it old school with a more boring approach.

Writing better StimulusJS controllers

Stimulus sprinkles interactive behavior on top of your boring HTML pages. By keeping your controllers small, generic, and composable you can build a front-end without the typical JavaScript mess.

Feature Flags: The stupid simple way to de-stress production releases

Feature flags bridge the gap between the abstract concept of continuous delivery and tactical release of features. Start small with a glorified if-statement before adding more complicated tooling to get the most bang for your buck.

Spring Cleaning: Tidying up your codebase

A practical checklist for tidying up your gems, pruning old git branches, removing unused views and routes, and cleaning up your database. A little bit goes a long way when it comes to cleaning!

Wrangling slow reports, large file exports, and long-running tasks in Rails with Active Job

Sometimes we need to generate really large file exports or run reports that are just slow. It's not enough to optimize a few queries, we need to move the work to a background job and notify the user when it's all done.

Managing Rails schema and data migrations without losing your mind

Rails database migrations are extremely powerful, but can be a mess if we don't avoid the traps. This article outlines a boring way to handle schema and data migrations effectively.

Matt Swanson
About the author

Hi. I'm Matt Swanson.

I've been building web apps for ten years and I'm tired of complex messes. The latest and greatest tools definitely have their place, but so often we could ship much more with much less.

This book is the missing set of sane defaults that I've learned over my career and curated from across the Rails community.

You can talk with me on Twitter.