Steve Polito makes the case for Bootstrap as the best front-end toolkit for server-rendered applications. In this episode of The Opinionated thoughtbotter, he and Svenja Schäfer debate Bootstrap vs. Tailwind, MVP speed, customization, documen... | Continue reading
Chad, Sami and Will bring a growing issue to the forefront as they discuss whether AI really is to blame for recent industry layoffs. | Continue reading
Keep the beauty of duck typing with no annotations while still catching missing methods, mismatched signatures, and accidental drift across classes. | Continue reading
How I used Claude Code to build a GTD-based management system from a borrowed idea, meeting transcripts, and three days of real work. | Continue reading
LLM calls are black boxes in production. Learn how to add structured observability to your RubyLLM-powered app with OpenTelemetry. | Continue reading
Our hosts come together to wrap up season 2 and share some of their highlights along the way. | Continue reading
Your test suite didn't get slow all at once. It won't get fast all at once either. Start by making sure it stops getting worse. | Continue reading
AI tools can spin up polished apps in a weekend, but speed makes it easier than ever to build the wrong thing. Here’s how to turn a “Lovable MVP” prototype into a real product that delivers value. | Continue reading
Aji and Joël get into a flow as they discuss the different diagrams that help guide their thought processes when working. | Continue reading
When speed matters more than perfection, API documentation can quickly become a bottleneck. In this post, I share how we used thoughtbot’s Claude Skill to generate Postman collections directly from a Rails codebase. | Continue reading
How I shaved over a minute off a test suite with a one-line change. | Continue reading
Joël and Sally cover all the bases as they look at improving their test suite performances times. | Continue reading
Don't let one ambitious user trigger a denial of service. | Continue reading
Linting isn’t about tabs vs. spaces. It’s about team consistency. thoughtbot senior developers Svenja Schäfer and Rémy Hannenquin talk code style, automation, PR review sanity, and why “just format the whole codebase” might be the least painf... | Continue reading
Choosing and implementing the right large language model for healthcare requires balancing security, economics, and inevitable hallucinations. Here’s what you need to know before integrating AI into your product. | Continue reading
Rails is still alive and kicking in 2026, and a lot of companies trust it for their applications and backend infrastructure. | Continue reading
Generating and maintaining FDA-required documentation for software as a medical device can be tedious and time-consuming. We built a Claude Code skill to automate documentation for 510(k) submissions. | Continue reading
Sally and Aji flick through thoughtbot’s guide to best practices in a bid to brush up on their coding habits. | Continue reading
Sami makes his triumphant return to the Giant Robots Smashing into other Giant Robots Podcast as he and his fellow hosts discuss a brand new tool currently in pre-production at thoughtbot. | Continue reading
Introducing ReadySetGo. An AI application generator that creates first versions of products, built in Rails, to thoughtbot’s best practices. Not throwaway, vibe-coded prototypes. Real foundations that can be built upon. | Continue reading
Introducing ReadySetGo. An AI application generator that creates first versions of products, built in Rails, to thoughtbot’s best practices. Not throwaway, vibe-coded prototypes. Real foundations that can be built upon. | Continue reading
Sami makes his triumphant return to the Giant Robots Smashing into other Giant Robots Podcast as he and his fellow hosts discuss a brand new tool currently in pre-production at thoughtbot. | Continue reading
Learn how Pundit authorization actually works in Rails, from request flow to policy scopes, with practical examples for JavaScript developers. | Continue reading
Learn how Pundit authorization actually works in Rails, from request flow to policy scopes, with practical examples for JavaScript developers. | Continue reading
Our Tech Leader UK Tour is coming to Bristol on March 19th. This is your invite to connect in person with the thoughtbot team and other product leaders in South West England. | Continue reading
Our Tech Leader UK Tour is coming to Bristol on March 19th. This is your invite to connect in person with the thoughtbot team and other product leaders in South West England. | Continue reading
Joël and Sally examine the simpler components of programming and why using basic data structures may not always be the best approach to solving a problem. | Continue reading
Joël and Sally examine the simpler components of programming and why using basic data structures may not always be the best approach to solving a problem. | Continue reading
props_template 1.0: A high performance, more opinionated jbuilder replacement | Continue reading
props_template 1.0: A high performance, more opinionated jbuilder replacement | Continue reading
Learn how Rails polymorphic associations work under the hood, from database schema to model setup, with clear examples for JavaScript developers new to ActiveRecord. | Continue reading
AI-generated code doesn't have to be throwaway code. Here's how we used Claude Code to build a fully-tested, production-quality Rails prototype in two weeks, complete with a robust test suite, clean commits, and code we were proud to have written. | Continue reading
…or end up hunting for logic in jobs and controllers. | Continue reading
Remove bottlenecks to booking appointments by enabling self-scheduling within your app. | Continue reading
Learn how Rails ActiveRecord differs from JavaScript ORMs and why the database-first approach eliminates boilerplate. | Continue reading
Sally and Aji assess some common metrics for success when working a project and how they may not always provide the clearest picture of how things are going. | Continue reading
Come and see some of thoughtbot's fabulous workspaces. | Continue reading
Chad and Will examine the ever expanding AI bubble and ponder on what we can expect it to see evolve in the coming years. | Continue reading
Rails framework code is full of inheritance magic, but your application code doesn't have to be. Learn how composition makes dependencies explicit, testing easier, and debugging a breeze—using patterns you already know from JavaScript. | Continue reading
Joël and Aji reference their personal bibliographies as they compare the different influences that have shaped their programmer world view. | Continue reading
Rails model specs full of setup and error-message checks? There’s a reason so many teams replace them using shoulda-matchers. We’ll look at what those expectations are doing, how they make your tests more resilient to changes, and a lot less noisy. | Continue reading
Celebrate Giant Robots’ 600th episode in style as Sami pulls together thoughtbot staff old and new to celebrate this monumental milestone. | Continue reading
Discover where Rails methods come from and solve the biggest confusion JavaScript developers face when learning Rails. | Continue reading
Run a code audit on your Rails app using thoughtbot's best practices. | Continue reading
Aji and Sally sit down to dissect the complicated beast that is AI. | Continue reading
Overriding Rails credentials, a helper to submit forms with images and how to count tests with rspec's --dry-run option. | Continue reading
In addition to our regular tech leader event in London, we're partnering with local tech leaders to bring the event to Manchester, Bristol, Brighton, and Edinburgh this year. | Continue reading
Chad and Will start the new year off right by discussing their aspirations for 2026. | Continue reading