Skip to main content
thoughtbot thoughtbot
  • Live on Twitch!

    thoughtbot is livestreaming

    Work alongside the thoughtbot team as we collaborate with each other and our clients, live. Ask us anything, we're live right now!

  • Case Studies
  • Blog
  • Let’s Talk
Live on Twitch!

thoughtbot is livestreaming

Work alongside the thoughtbot team as we collaborate with each other and our clients, live. Ask us anything, we're live right now!

Let’s get started!
View all Services
Development
  • Ruby on Rails
  • Hotwire
  • AI and Machine Learning
  • Maintenance
  • Mobile
Design
  • Discovery Sprints
  • UX, UI, and Product Design
  • Design Systems
Product
  • Product Management
  • Accessibility
Team and Processes
  • Team Augmentation
  • Fractional Leadership
View all Services
View all Resources
Development
  • Tech Leadership Resources
  • Open Source
  • Books
  • The Bike Shed Podcast
  • Live Streaming on YouTube
  • Conference Talks
The business of great software
  • Playbook
  • Purpose Built
  • Giant Robots Smashing Into Other Giant Robots Podcast
  • Design Sprint Guide
  • Live Streaming on LinkedIn
View all Resources

Web Articles

Written by thoughtbot, your expert strategy, design, product management, and development partner.

    • All Topics
    • Design
    • Web
    • iOS
    • Android
    • More topics
  1. Models That Match Reality

    When modeling a domain, it’s important to have our model actually match reality.

    Joël Quenneville
    October 12, 2021
    • Design
    • Web
    • Elm
    • Ruby
    • Modeling
  2. Fewer Operations on Custom Types is Valuable

    Less is more. Wrapping primitives in custom types restricts your available operations and that’s a good thing.

    Joël Quenneville
    October 11, 2021
    • Elm
    • Ruby
    • Web
  3. Who is empowered by your API design?

    Analysing API design through lens of skill floors and ceilings can help us think about the impact of adding a feature.

    Joël Quenneville
    October 7, 2021
    • Design
    • Web
    • F#
  4. Back to Basics: Boolean Expressions

    Write Boolean expressions using operators instead of if/else for a more readable outcome.

    Joël Quenneville
    June 28, 2021
    • Back To Basics
    • Ruby
    • Development
    • Web
  5. Pipeline Decoders in Elm

    What’s the difference between Elm’s classical and pipeline JSON decoders?

    Joël Quenneville
    May 19, 2021
    • Elm
    • Functional Programming
    • Web
  6. Running Out of Maps

    What happens when you need a bigger mapN?

    Joël Quenneville
    May 12, 2021
    • Elm
    • Web
    • Functional Programming
  7. Inspect Redis commands using MONITOR

    Take a look at a live log of all commands run on your Redis server.

    Eebs Kobeissi
    March 15, 2021
    • Redis
    • Debugging
    • Web
  8. React Server Components: What are They?

    React Server Components provide a seamless mechanism for rendering components on the server at any point in the app lifecycle. Should you experiment on this?

    Rakesh Arunachalam
    February 23, 2021
    • React
    • JavaScript
    • Web
  9. Simplifying Tests by Extracting Side-Effects

    Test-driven development, object-oriented design, and functional programming converge on some similar ideas.

    Joël Quenneville
    February 18, 2021
    • Web
    • Ruby
    • TDD
    • Testing
    • Functional Programming
    • Good Code
  10. Scoping .or clauses with common joins

    Extract common clauses when using Active Record’s .or method.

    Eebs Kobeissi
    February 1, 2021
    • Active Record
    • Rails
    • Web
  11. Sign up to receive a weekly recap from thoughtbot

« First ‹ Prev … 4 5 6 7 8 9 10 11 12 … Next › Last »

Footer

thoughtbot
  • Services
  • Case Studies
  • Resources
  • Let's Talk
  • Our Company
  • Careers
  • Purpose
  • Blog
  • Sponsor
  • Mastodon
  • GitHub
  • Instagram
  • YouTube
  • Twitch
© 2025 thoughtbot, inc.

The design of a robot and thoughtbot are registered trademarks of thoughtbot, inc.

  • US: +1 (877) 9-ROBOTS
  • UK: +44 (0)20 3807 0560
  • Beware of fraudulent thoughtbot job listings Learn more
  • Code of Conduct
  • Accessibility Statement
  • Privacy Policy