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
  • 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
  • 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 partner for design and development.

    • All Topics
    • Design
    • Development
    • Product
    • More topics
  1. Going through changes with TypeScript

    When we inevitably make changes to our codebase, any help is appreciated, and a type system can be your best friend.

    Alejandro Dustet
    March 30, 2020
    • TypeScript
    • Types
    • Web
  2. How to start processes with dynamic names in Elixir

    Good practices for using Registry to name processes dynamically.

    Justin Toniazzo
    March 25, 2020
    • Elixir
    • OTP
    • Web
  3. Recurring Events and PostgreSQL

    Scheduling, recurring events and relative dates have always been hard. Until now.

    Jonas Meinerz
    March 24, 2020
    • PostgreSQL
    • Dates
    • Interval
    • Rails
    • Ruby
    • Duration
    • Web
    • Databases
  4. Protecting User Data in HIPAA Compliant Staging Environments

    How to populate your staging environment with data while keeping user data secure.

    Sweta Sanghavi
    March 6, 2020
    • Health Tech
    • Security
    • Data
    • Web
  5. Breaking Out of Ecto Schemas

    With Ecto, 🎶 you can always get what you want. And if you try sometimes, well, you might find, you can select want you need 🎶.

    German Velasco
    February 24, 2020
    • Ecto
    • Elixir
    • SQL
    • Web
  6. Announcing Fishery – a JavaScript and TypeScript Factory Library

    We have just released Fishery, a TypeScript-compatible library for setting up JavaScript objects for use in tests and anywhere else you need to set up data.

    Stephen Hanson
    February 5, 2020
    • TypeScript
    • JavaScript
    • Testing
    • Web
  7. Faking External Services in Tests with Adapters

    When faking external services in tests, start with something simple. I like having a public interface to adapters and having an in-memory adapter for tests. Let me show you an example.

    German Velasco
    November 28, 2019
    • Testing
    • Ruby
    • Rails
    • Web
  8. Addressing Technical Debt

    The financial metaphor is often thrown around engineering departments, but how do you actually deal with it?

    Joël Quenneville
    November 4, 2019
    • Web
    • Technical Debt
  9. Chaining Async Functions like a Boss

    A look at syntactic sugar for chaining async functions in multiple languages.

    Joël Quenneville
    November 1, 2019
    • Web
    • Elm
    • Scala
    • Haskell
    • JavaScript
  10. Types without values

    A look at value-less types such as Elm’s Never.

    Joël Quenneville
    October 30, 2019
    • Web
    • Elm
  11. Sign up to receive a weekly recap from thoughtbot

    Looking for even more ways to stay connected?
    RSS feed icon Check out our feeds
« First ‹ Prev … 7 8 9 10 11 12 13 14 15 … Next › Last »

Footer

thoughtbot
  • Services
  • Case Studies
  • Resources
  • Let's Talk
  • Our Company
  • Careers
  • Purpose
  • Blog
  • Sponsor
  • 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