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. Using `yield_self` for composable ActiveRecord relations

    On the code-changing magic of yield_self.

    Derek Prior
    March 13, 2018
    • Rails
    • Ruby
    • Web
  2. Querying an Embedded Map in PostgreSQL with Ecto

    Structs and maps are easy to work with in Elixir, but if they are stored in the database as JSON and accessed via an Ecto Schema, it’s not as clear how to query them. We’re going to explore how to do that, and make it clear and easy.

    David Bernheisel
    March 9, 2018
    • Ecto
    • Map
    • Embeds One
    • PostgreSQL
    • JSON
    • Elixir
    • Query
    • Web
  3. Problem Solving with Maybe

    Write more confident code to avoid viral Maybe taking over your project.

    Joël Quenneville
    February 12, 2018
    • Elm
    • Functional Programming
    • Good Code
    • Web
  4. The Mechanics of Maybe

    Leverage the core mechanics of Maybe to clean up your nested cases.

    Joël Quenneville
    February 9, 2018
    • Elm
    • Functional Programming
    • Web
  5. Designing Lucky: Rock Solid Actions & Routing

    Sick of bugs? See how Crystal and Lucky actions work together to prevent common web application errors.

    Paul Smith
    January 15, 2018
    • Lucky
    • Crystal
    • Web
  6. Why Factories?

    Understanding why we use factories helps us write faster, more readable tests.

    Joël Quenneville
    January 12, 2018
    • Ruby
    • Web
    • Testing
  7. 5 Common JSON Decoders

    Elm JSON decoding in 5 common scenarios

    Joël Quenneville
    December 4, 2017
    • Elm
    • Web
  8. Lucky is Getting Bigger and Better: Announcing v0.6

    Over 130 commits and 20 new features have been added to Lucky since the first announcement a month ago. Check out all that’s new in Lucky v0.6!

    Paul Smith
    November 30, 2017
    • Lucky
    • Crystal
    • Web
  9. Talking to ActionCable without Rails

    How to talk to ActionCable without using Rails.

    Bruno Antunes
    November 30, 2017
    • Web
    • JavaScript
    • Action Cable
    • Websockets
    • Redux
  10. Graceful Switching of Worker Processes

    How to avoid lost work from your job queues and worker processes.

    Oli Peate
    November 28, 2017
    • Web
    • Heroku
    • Ruby
  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 … 11 12 13 14 15 16 17 18 19 … 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
  • Beware of fraudulent thoughtbot job listings Learn more
  • Code of Conduct
  • Accessibility Statement
  • Privacy Policy