Skip to main content
thoughtbot thoughtbot
  • We're live 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
We're live 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
  • MVP
  • 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
  • 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 partner for design and development.

    • All Topics
    • Design
    • Development
    • Product
    • More topics
  1. Building custom DOM event handlers in Elm

    A step-by-step guide to implementing a custom onChange event in Elm 0.18.

    Joël Quenneville
    November 21, 2016
    • Web
    • Elm
  2. Options for adding a blog to a Rails application

    TL;DR: roll your own.

    Tute Costa
    November 18, 2016
    • Rails
    • Blog
    • Web
  3. Announcing FormLinter

    A tool for making better forms.

    Ben Orenstein
    November 9, 2016
    • Formkeep
    • Design
    • Web
    • News
  4. Composition vs Inheritance

    Choose the right tool for the job when building modular software.

    Joël Quenneville
    November 3, 2016
    • Web
    • Ruby
    • Good Code
  5. Building Reusable Object-Oriented Systems: Composition

    Using composition to build modular object-oriented systems.

    Joël Quenneville
    November 2, 2016
    • Web
    • Ruby
    • Good Code
  6. Building Reusable Object-Oriented Systems: Modules

    Solving the combinatorial explosion problem with multiple inheritance.

    Joël Quenneville
    November 1, 2016
    • Web
    • Ruby
    • Good Code
  7. Building Reusable Object-Oriented Systems: Inheritance

    Using inheritance to share common logic.

    Joël Quenneville
    October 31, 2016
    • Web
    • Ruby
    • Good Code
  8. Is Your Site Leaking Password Reset Links?

    Emailed password reset links are a common part of web applications. Is your site leaking these confidential links to third party sites?

    Derek Prior
    October 24, 2016
    • Web
    • Security
  9. Announcing Constable, an open source Phoenix application

    Check out a production ready Elixir/Phoenix application.

    Blake Williams and Paul Smith
    October 4, 2016
    • Elixir
    • Phoenix
    • Web
  10. The Complete Guide to Optimising Web Images

    Optimising images for your website can be a bit of a black art, but it’s well worth doing as the bandwidth savings can be large. It will also make a big difference to the speed at which your site loads.

    Dan Barber
    August 10, 2016
    • Web
    • Design
    • Images
  11. Sign up to receive a weekly recap from thoughtbot

    Looking for even more ways to stay connected?
    RSS feed Check out our feeds
« First ‹ Prev … 16 17 18 19 20 21 22 23 24 … Next › Last »

Footer

thoughtbot
  • Services
  • Case Studies
  • Resources
  • Let's Talk
  • Our Company
  • Careers
  • Purpose
  • Blog
  • Events
  • Sponsor
  • Store
  • Mastodon
  • Bluesky
  • GitHub
  • YouTube
  • Twitch
  • Feeds
© 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
  • Code of Conduct
  • Accessibility Statement
  • Privacy Policy