Faster feedback loops with Rails Runner

I recently needed to explore how best to craft and parse a series of network requests as part of a feature I was working on. It didn’t make sense to write a test for this, since I was only exploring the idea, and because our test suite is configured to prevent making HTTP request … | Continue reading


@feed.thoughtbot.com | 1 year ago

Giant Robots Ep 570: Rolling for Initiative with Chad, Will and Sami

Chad, Will and Sami discuss life outside of thoughtbot and the hobbies that occupy them in their down time. | Continue reading


@feed.thoughtbot.com | 1 year ago

AI for Business: How to harness AI

This post is part of the AI for Business series Shedding light on AI from a non-technical business/product/design perspective. A history of Artificial Intelligence How to harness AI AI and automation AI and cognitive insight AI and cognitive engagement Evolution V revolution Adop … | Continue reading


@feed.thoughtbot.com | 1 year ago

The Bike Shed Ep 459: Paper Data Structures with Sally Hall

Joël and thoughtbot colleague Sally Hall set out to find an answer to the question, what exactly are the differences between paper data structures and digital ones? | Continue reading


@feed.thoughtbot.com | 1 year ago

5 things to avoid when hiring your MVP team

Launching an MVP is a huge step toward validating your idea, engaging real customers, and proving your business model to investors. To make this vision a reality, you need the right team behind you. Whether you are a founder setting out to build v1, or an established company cons … | Continue reading


@feed.thoughtbot.com | 1 year ago

Tools and resources our designers are using right now

The landscape of tools we use and what sources of inspiration we find are always changing, but here’s a non-exhaustive list of what our design team is using and looking at right now. Tools Figma - For interface design, prototyping, outputting and adjusting SVGs, creating presenta … | Continue reading


@feed.thoughtbot.com | 1 year ago

Ruby Strings: DnD Alignment chart

You’re working on a project with a Ruby style guide that says: Prefer single quoted strings. Reserve double quoted strings for situations when you need interpolation. You come across a situation where you need to represent the contracted English word “doesn’t” which contains a si … | Continue reading


@feed.thoughtbot.com | 1 year ago

How to respect OpenAI's rate limits in Rails

I’m on a Rails project using OpenAI. We’re sending over large amounts of text to provide as much context as possible, and recently ran into issues with rate limiting. As it turns out, OpenAI’s rate limits are a little more complicated than other APIs. Rate limits are measured in … | Continue reading


@feed.thoughtbot.com | 1 year ago

Giant Robots Ep 569: Automation is king with Karen King

Chad talks with Karen King, Founder of Gold Star Pro, about her drive to help small business owners reach their full potential. | Continue reading


@feed.thoughtbot.com | 1 year ago

My key takeaways from the All Things Open.AI conference

A Clearer Understanding of the AI Landscape It has been quite intimidating for me, as it has for many other people, to wrap my head around all the components of the AI landscape - Acronyms help describe complex systems but for someone who is just getting started, it can feel like … | Continue reading


@feed.thoughtbot.com | 1 year ago

AI for Business: A history of Artificial Intelligence

This post is part of the AI for Business series Shedding light on AI from a non-technical business/product/design perspective. A history of Artificial Intelligence How to harness AI AI and automation AI and cognitive insight AI and cognitive engagement Evolution V revolution Adop … | Continue reading


@feed.thoughtbot.com | 1 year ago

Going beyond AI prototyping: Lessons from SXSW

Congrats everyone, we did it. AI prototypes are incredibly easy to build. This brings us to our next, less shiny, phase: making AI implementations lasting and impactful to your product and business. At this year’s SXSW conference, even if you weren’t in the AI track, you were in … | Continue reading


@feed.thoughtbot.com | 1 year ago

Avoiding N+1 queries the Railsy way with strict loading

When working with Rails, one of the easiest ways to improve performance is to avoid N+1 queries as much as possible. But what is an N+1 query? Here’s a quick example: let’s say you are rendering a list of 20 books, and you want to show author details on each line. If you don’t pr … | Continue reading


@feed.thoughtbot.com | 1 year ago

Designing better organizations enabled by AI: Lessons from SXSW

Let’s continue our journey off the shiny AI hype machine, and onto the less exciting, but more powerful pragmatic and iterative AI implementation process…. machine. At SXSW 2025, the focus had clearly shifted from mind-blowing AI demos to real-world implementation stories. And th … | Continue reading


@feed.thoughtbot.com | 1 year ago

Rails 8’s Propshaft, A Sprockets’ quiet replacement?

With the release of Rails 8, asset management in Rails got faster and simpler with the new asset pipeline, Propshaft, which is not only simpler but also more aligned with modern Rails development needs compared to its predecessor, Sprockets. How does Propshaft compare to Sprocket … | Continue reading


@feed.thoughtbot.com | 1 year ago

Falsehoods software teams believe about user feedback

You can skip straight to the list of falsehoods if you recognise this article’s genre from the title or you’re not someone who likes caveats and explanations. Software teams often make incorrect assumptions about user feedback. Being aware of how differently one person can interp … | Continue reading


@feed.thoughtbot.com | 1 year ago

Giant Robots Ep 568: What does Carbon even mean? With Polly and Otto from True

Sami goes back to school as he asks Otto Terrell and Polly Gupta from True the key questions around the environmental buzz words of 2025. | Continue reading


@feed.thoughtbot.com | 1 year ago

🎙️ Introducing AI for Business, a new blog series

This is an AI generated image. If you are like me, you might be feeling a bit frustrated or overwhelmed by most learning material in the AI space as it is often heavily technical. As a Designer and Product Manager, this is not that helpful to me. To learn more about AI, I recentl … | Continue reading


@feed.thoughtbot.com | 1 year ago

Should I hire an agency to develop my MVP or build my own team?

thoughtbot partners with startups across stages and sizes, including a founding team of 1 and a growing team of product people. It’s our goal to support our clients how they need us - from both a team mentorship and product perspective. Startups setting out to successfully build … | Continue reading


@feed.thoughtbot.com | 1 year ago

Giant Robots Ep 567: The future of digital health: Where are we headed with Steven Wardell

Sami talks with Steven Wardell, managing partner of Wardell Advisors LLC, about the lacking tech developments within the healthcare sector. | Continue reading


@feed.thoughtbot.com | 1 year ago

How fast can an ActiveRecord SQL query run?

Your database monitoring (perhaps Amazon RDS performance insights, Skylight, or the Postgres pg_stat_activity view) is telling you that one particular query in your Rails app is causing heavy load. Unfortunately, it already seems pretty fast. What are the odds that you can get it … | Continue reading


@feed.thoughtbot.com | 1 year ago

Ruby on Rails agency in London

Everyone’s talking about AI replacing developers these days… but where can you find a good old Ruby on Rails agency in London with Ruby on Rails developers in flesh and bones* these days? (*) plant-based version also available in selected locations, like the UK, for instance. Do … | Continue reading


@feed.thoughtbot.com | 1 year ago

How transparency helps us navigate during calm and chaos

All organizations have a choice in how they share information and involve their teams in decision-making. At thoughtbot, transparency is a tool and guiding principle that supports how we work, emerging from the intersection of our values of Self-Management and Trust. Self-Managem … | Continue reading


@feed.thoughtbot.com | 1 year ago

Reasoning by Analogy

Reasoning by Analogy is a powerful learning, problem-solving, and debugging technique. It’s a four-step process: You have a question about something that you don’t understand Translate the question to something similar that you do understand (called the analogue) Solve the proble … | Continue reading


@feed.thoughtbot.com | 1 year ago

thoughtbot x ProductCon 2025

A firm favourite in every Product person’s calendar - this year’s ProductCon 2025 hosted in London’s Barbican didn’t just talk about the future, it pulled on unspoken challenges in product leadership. From AI power moves to the death of outdated frameworks, the team tackled compl … | Continue reading


@feed.thoughtbot.com | 1 year ago

Using the Presenter Pattern in Ruby on Rails

The presenter pattern is a handy design approach that sits between your views and models, helping you keep your code organized by handling view-specific logic in a clean and maintainable way. In a Rails app, it’s a great way to keep your views and controllers slim since the prese … | Continue reading


@feed.thoughtbot.com | 1 year ago

content_for -- What is it good_for?

Sometimes, you need to include HTML but you can’t figure out where to do it, especially if you’re trying to push something up the view hierarchy. The answer to your challenge is often #content_for. Content what? As described in the Rails guides: The content_for method allows you … | Continue reading


@feed.thoughtbot.com | 1 year ago

Giant Robots, Giant Changes: Season 15 Gets Personal

Over 10 years and 550 episodes, our podcast, Giant Robots Smashing into other Giant Robots, has brought you conversations with founders, developers, product thinkers, and industry leaders, diving deep into the worlds of software and business. This season, we’re adding something n … | Continue reading


@feed.thoughtbot.com | 1 year ago

thoughtbot is pausing activity on X and Meta

We’ve decided to pause our activity on X and Meta platforms. While we’ve valued the connections we’ve built on these platforms over the years, we’ve seen a shift in how people engage online, with more productive conversations and community building happening on platforms prioriti … | Continue reading


@feed.thoughtbot.com | 1 year ago

How we use AI to accelerate our MVPs

We’ve organized our suggestions for using AI to accelerate your MVPs, to support you with product strategy, design, development, go-to-market, and post-launch optimization. | Continue reading


@feed.thoughtbot.com | 1 year ago

Safe dynamic object access in TypeScript

Satisfy the Typescript type-checker when doing dynamic object access and write safer code in the process. | Continue reading


@feed.thoughtbot.com | 1 year ago

ActiveRecord query log tags for GraphQL

I recently heard of a Rails 7 config option called config.active_record.query_log_tags_enabled. The feature adds comments to the SQL queries that Rails generates, like this: /*action='index',application='MyApp',controller='myrecords'*/ SELECT "myrecords".* FROM "myrecords" WHERE … | Continue reading


@feed.thoughtbot.com | 1 year ago

How AI can streamline code reviews

Imagine having a pairing buddy to help you with those finicky Pull Request (PR) reviews. During reviews, when it comes to refining small code snippets, Large Language Models (LLM) using Artificial Intelligence (AI) is my new friend and pairing buddy. Using AI, developers can quic … | Continue reading


@feed.thoughtbot.com | 1 year ago

Finding the opposite of what you have with rails invert_where

Rails 7 introduced invert_where. This method inverts all scope conditions that it’s applied to, simplifying the process of defining the opposite of a where clause in ActiveRecord queries. It also comes with a few caveats that should be considered before using it. What is invert_w … | Continue reading


@feed.thoughtbot.com | 1 year ago

Hotwire and That Syncing Feeling

Recently, I had to implement a multi-screen slide deck presentation system that stayed in sync with the presenter’s view. How did I get there? Requirements Render three views: the group view, the individual view, and the presenter view. The group view should show a fullscreen vie … | Continue reading


@feed.thoughtbot.com | 1 year ago

What UK companies need to know about the European Accessibility Act (EAA)

This blog post provides information about accessibility laws and regulations, but is not legal advice. You should consult a lawyer for advice on specific legal issues or questions. If you do business in the UK, chances are high that you know about the Equality Act 2010 and Public … | Continue reading


@feed.thoughtbot.com | 1 year ago

How to use ngrok and Ollama to access a local LLM remotely

The other day I was going through my old laptops (I have a collection of them 😅) and had one idea: What if I could run Ollama on one of them and access it remotely from my main machine? Could that mean that I am effectively hosting an AI model on my old laptop, for free? … | Continue reading


@feed.thoughtbot.com | 1 year ago

This week in #dev (Feb 21, 2025)

Welcome to another edition of This Week in #dev, a series of posts where we bring some of our most interesting Slack conversations to the public. URL-Safe serialization for any Ruby object Matheus Richard shares a gem called Universal ID that can serialize any Ruby object into a … | Continue reading


@feed.thoughtbot.com | 1 year ago

Our podcasts are now available on YouTube

Our podcasts, Giant Robots Smashing into other Giant Robots and The Bike Shed are now available on YouTube podcasts and YouTube Music. We’ve imported the entire back catalog of episodes for both podcasts. The Giant Robots podcast has been going for 11 years and 575 episodes, with … | Continue reading


@feed.thoughtbot.com | 1 year ago

Seeds...of Destruction! 🌱 ➡️ 💥

Maybe you trust your db/seeds.rb file to be idempotent when you run bin/rails db:seed, and maybe you don’t, but either way, you should test it so you can be sure that it does what you think it does. Doing so is simple! Let’s run through the process. Here’s a sample seed file: We … | Continue reading


@feed.thoughtbot.com | 1 year ago

I’m currently talking to the machine and it’s not helpful at all

For the past 5 ½ years or so, I live in the South of Spain. At first, I called Almería my home but in 2024 I moved to the outskirts of Granada. That move not only brought some green nature into my life (Almería holds the only desert in Europe – check out Tabernas if you are inter … | Continue reading


@feed.thoughtbot.com | 1 year ago

Triangle of Separation

Over the years, I’ve accumulated a set of three principles that help me write code that’s more modular, readable, and modifiable. I apply them when writing new code to try to make things easier for my colleagues, and I use them when refactoring existing code that’s gotten too com … | Continue reading


@feed.thoughtbot.com | 1 year ago

Zero-downtime with Rails credentials part III

This post is part of the Zero-downtime with Rails credentials series. In the first post we talked about the reasons that moved us towards making a codewide change and adopt Rails credentials rather than using environment variables to manage our secrets. In the second post we saw … | Continue reading


@feed.thoughtbot.com | 1 year ago

Scaling startups: Financial foundations & strategic product roadmap

Many growing companies are vulnerable to changing market conditions and face pressure to evolve quickly. Having strong financial foundations and a strategic product roadmap are important to help your team meet growth goals. Combining the expertise of 5th Line and thoughtbot, we’v … | Continue reading


@feed.thoughtbot.com | 1 year ago

Diversity, equity, and inclusion are still important

While others move away from DEI initiatives, we want to once again stress our steadfast commitment to working to increase diversity, equity, and inclusion within the company and beyond. Others have recently shown their willingness to compromise on those values. We will not. We be … | Continue reading


@feed.thoughtbot.com | 1 year ago

SXSW 2025: AI must-see sessions plus our local guide to hidden hangouts

We’re heading to SXSW 2025, and if you’re passionate about product development, the future of tech, and how AI comes in the mix, we’d love to connect! We’ve long had a presence in Austin, Texas, as part of the community of tech leaders and startup founders at Capital Factory and … | Continue reading


@feed.thoughtbot.com | 1 year ago

NWRUG's February 2025 Meeting (20 February)

It will soon be North West Ruby User Group (NWRUG)’s February 2025 meet-up on Thursday, 20 February, at Colony, One Silk Street. To attend, please secure a spot on their Ticket Tailor page. This month they are doing lightning talks! That means you have an opportunity to give a sh … | Continue reading


@feed.thoughtbot.com | 1 year ago

New Livestream Recording - Where can healthcare best use AI?

Chad Pytel, thoughtbot CEO, had the pleasure of joining Steven Wardell on his Digital Health Investor Talk series where they discussed the problem areas in healthcare that are amenable to the capabilities of generative AI. AI is everywhere, and the sector is white hot for investo … | Continue reading


@feed.thoughtbot.com | 1 year ago