How To Rev Up Your Rails Development with MCP

Shipping new features on legacy Rails applications requires deep codebase context. The rails-mcp-server gem closes the gap between AI agents and your Rails projects, enabling more relevant code analysis and context aware refactoring suggestions. Whether you're dealing with tech debt in a brownfield application or building new greenfield features, this tool can help you move faster with confidence.

#AI#Ruby on Rails
Added: 1 Dec 2025
Why I believe prototyping in code beats everything else

A code prototype changes everything. When you prototype in code, the thing you are testing is real. It works in the browser. It works on any device. It responds to real-world variables.

#Productivity#Product Development
Added: 4 Dec 2025
Building optimistic UI in Rails (and learn custom elements)

Learn how custom elements work in Rails by building an optimistic form. From simple counters to instant UI updates, understand when to use custom elements over Stimulus controllers.

#Javascript#Ruby on Rails#Frontend
Added: 5 Dec 2025
Vanilla CSS is all you need

The post stuck with me. Over the past year and a half, 37signals has released two more products (Writebook and Fizzy) built on the same nobuild philosophy. I wanted to know if these patterns held up. Had they evolved?

#Ruby on Rails#CSS
Added: 5 Dec 2025
đź§  10 uncommon but powerful Ruby & Rails Methods.

As Ruby and Rails developers, we often rely on the same familiar set of methods to get things done. The same set of operations are more or…

#Ruby on Rails
Added: 7 Dec 2025

This is my personal site, where I write about Ruby, programming, and any of my varied fascinations.

#CSS#Design
Added: 9 Dec 2025
Logging outbound emails with ActionMailer in Rails | Storm Consultancy - Your Digital Technology Agency

A guide to using the ActionMailer after_deliver callback to log emails sent from your Ruby on Rails application

#Ruby on Rails
Added: 9 Dec 2025
Value Objects in Ruby: The Idiomatic Way

Master Value Objects in Ruby using the modern Data.define class. Learn about immutability, value equality, and how to eliminate boilerplate code for cleaner, safer domain modeling.

#Ruby
Added: 9 Dec 2025
Turn Any Idea Into a Validated MVP

A step-by-step path to validate your idea fast by defining the problem, testing assumptions, prototyping the critical flow, and shaping a focused MVP you can learn from.

#Product Development
Added: 9 Dec 2025
Create a Markdown Editor in Ruby on Rails | AppSignal Blog

In this post, we'll build a Markdown editor using Rails.

#Ruby on Rails#Tutorial#Frontend
Added: 10 Dec 2025
How to Remove Secrets from Git History Safely

Accidentally committed secrets to Git? Learn how to safely and permanently remove sensitive data from your Git history using git-filter-repo — the modern,...

#DevOps
Added: 10 Dec 2025
Making Rails Global IDs safer

The new LLM world is very exciting, and I try to experiment with the new tools when I can. This includes building agentic applications, one of which is my personal accounting and invoicing tool - that I wrote about previously As part of that effort I started experimenting with RubyLLM to have some view into items in my system. And while I have used a neat pattern for referencing objects in the application from the tool calls - the Rails Global ID system - it turned out to be quite treacherous. So, let’s have a look at where GlobalID may bite you, and examine alternatives and tweaks we can do. What are Rails GIDs? The Rails global IDs (“GIDs”) are string handles to a particular model in a Rails application. Think of it like a model URL. They usually have the form of gid://awesome-app/Post/32. That comprises: The name of your app (roughly what you passed in when doing rails new) The class name of the model The primary key of the model You can grab a model in your application and get a global ID for it: moneymaker(dev):001> Invoice.last.to_global_id Invoice Load (0.3ms) SELECT "invoices".* FROM "invoices" ORDER BY "invoices"."id" DESC LIMIT 1 /*application='Moneymaker'*/ => #<GlobalID:0x00000001415978a0 @uri=#<URI::GID gid://moneymaker/Invoice/161>> Rails uses those GIDs primarily in ActiveJob serialization. When you do DebitFundsJob.perform_later(customer) where the customer is your Customer model object which is stored in the DB, ActiveJob won’t serialize its attributes but instead serialize it as a “handle” - the global ID. When your job gets deserialized from the queue, the global ID is going to get resolved into a SELECT and your perform method will get the resulting Customer model as argument. All very neat. And dangerous, sometimes - once LLMs become involved.

#AI#Ruby on Rails
Added: 11 Dec 2025
Lessons learned from studying Fizzy test suite

The Fizzy application is a new play on Kanban board and project management. It has a comprehensive test suite focused mostly on unit and integration tests, althought other types of test are also present. The test suite is well-organized and follows Rails conventions with some application-specific patterns for multi-tenancy and UUID handling. Can we find more than that?

#Ruby on Rails
Added: 11 Dec 2025
🎓 Delegated Types

Delegated Types don’t work the way I thought they did

#Ruby on Rails
Added: 9 Sept 2022

As I’ve previously mentioned, I’m building a brand-new business from scratch on top of Rails. Reversing key architectural decisions is like getting a bad tattoo lasered off—it takes time, it’s expensive, and your bad decision will never truly fade into oblivion. With that in mind, I’ve been overcautious in doing my research when putting new architectural patterns into place, which led me to a cool solve while researching solutions to my most recent problem.

#Ruby on Rails
Added: 9 Sept 2022
ruby/debug cheatsheet

This cheatsheet can help you get started with ruby/debug as well as use it in your daily development. It's not an exhausting list of its features or commands, so please go through its document as well. If you're migrating from byebug, I also recommen...

#Ruby
Added: 9 Sept 2022
What’s New With Forms in 2022? | CSS-Tricks

Browsers are constantly adding new HTML, JavaScript and CSS features. Here are some useful additions to working with forms that you might have missed…

#CSS#Javascript
Added: 8 Sept 2022
Bring Focus to the First Form Field with an Error  ::  Aaron Gustafson

While filling out a long form the other day, I couldn’t figure out why it wasn’t submitting. Turns out I’d forgotten to fill in a field, but I didn’t know that because it had scrolled out of the viewport. This is a common problem on the web, but easily remedied with a little bit of JavaScript.

#Javascript
Added: 5 Sept 2022
13 tips to write better Rails code | Guillaume Briday

Writing clean code is the key for maintainable and sustainable code. Here's some of my favorite tips I could give you after many years working on Rails and Ruby.

#Ruby on Rails
Added: 4 Sept 2022
Data migrations with Rails

Data migration is a common part of working with databases, and Ruby on Rails developers have many...

#Ruby on Rails
Added: 3 Sept 2022
Ditching Active Record Callbacks

If you've done development on a Ruby on Rails application before you're probably familiar with Active Record callbacks. For those unfamiliar, they are ORM object life-cycle hooks. They allow the developer to run custom code when an object is created,...

#Ruby#Ruby on Rails
Added: 1 Sept 2022
Rails is Fast: Optimize Your View Performance | AppSignal Blog

You'll learn some effective performance and optimization techniques that you can use to speed up your Rails app.

#HOTWire#Ruby on Rails
Added: 30 Aug 2022
Stateless Forms with the Rails Attributes API

Building a form in Rails that ISN'T driven by an ActiveRecord model? Here's how to use the Attributes API to get all the convenience with none of the complexity.

#Ruby on Rails
Added: 30 Aug 2022
Using Rails Service Objects to Keep Code Clean

In this article, we’ll find out what are Rails Service Objects and how you can use them to make your app cleaner and keep it maintainable.

#Ruby on Rails
Added: 29 Aug 2022
First Previous Next Last