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

Types Articles

Written by thoughtbot, your expert partner for design and development.

    • All Topics
    • Design
    • Development
    • Product
    • More topics
  1. Safe dynamic object access in TypeScript

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

    Joël Quenneville
    March 19, 2025
    • TypeScript
    • Types
    • Development
  2. Type-Driven Design, Test-Driven Design

    TDD purism belongs to the world of dynamic typing.

    Mike Burns
    February 8, 2021
    • Types
    • Testing
    • TDD
  3. Useful utilities

    A strict type system doesn’t mean inflexible. We can bend it to meet our needs with the utilities that ship with TypeScript.

    Alejandro Dustet
    February 1, 2021
    • TypeScript
    • Types
    • Good Code
  4. Type systems and checking in Elixir and Ruby

    Adding type checking to dynamically typed languages is possible, and awesome!

    Hawley Brett
    January 18, 2021
    • Elixir
    • Ruby
    • Types
    • Good Code
  5. TypeScript: Stop Using 'any', There's a Type For That

    Chances are you’ve worked with the any type in TypeScript. It’s widely overused, and subtly dangerous. Let’s explore why you should avoid it, and when you might truly need to use it.

    Alejandro Dustet and Wil Hall
    October 13, 2020
    • TypeScript
    • Types
    • Good Code
  6. 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
  7. JavaScript Type Checkers are More than Linters

    Treating your JavaScript type checker as a linter doesn’t allow you to fully leverage your static type system.

    Sid Raval
    November 21, 2019
    • JavaScript
    • Types
  8. Modeling Currency in Elm using Phantom Types

    Lean on Elm’s friendly compiler to enforce currency-related constraints.

    Joël Quenneville
    October 28, 2019
    • Web
    • Elm
    • Types
  9. Better domain modeling in Elixir with sum types

    Sum types are a powerful domain modeling technique. Let’s look at how to use them to remove invalid states.

    German Velasco
    July 26, 2019
    • Elixir
    • Functional Programming
    • Types
    • Good Code
  10. Static Types In Medias Res

    Adding static types after the fact can be a boon to your React Native codebase.

    Sid Raval
    October 8, 2018
    • React Native
    • JavaScript
    • Types
    • Refactoring
  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
1 2 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