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

Elm Articles

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

    • All Topics
    • Design
    • Development
    • Product
    • More topics
  1. How to stop using your GraphQL API as a REST API

    It’s so easy to get lost in the flexibility of GraphQL that we can miss out on some of its benefits.

    Amanda Beiner
    January 6, 2021
    • GraphQL
    • REST
    • React
    • Elm
  2. Understanding Elm's Type Mismatch Error

    Breaking down Elm’s Type Mismatch error in basic and complex cases.

    Hawley Brett
    July 20, 2020
    • Elm
    • Functional Programming
    • Debugging
  3. Gotta Catch an Elm

    Using the PokeApi to learn a new language.

    EJ Mitchell
    July 13, 2020
    • Elm
    • Functional Programming
    • Learning
  4. Querying with GraphQL optional arguments in Elm

    How do optional arguments translate to a language with no such concept?

    Amanda Beiner
    May 15, 2020
    • Elm
    • GraphQL
  5. File Upload with Elm and ActiveStorage

    Making Elm + Rails/ActiveStorage play nice together.

    Anthony Moffa
    March 20, 2020
    • Active Storage
    • Elm
    • Rails
  6. 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
  7. Types without values

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

    Joël Quenneville
    October 30, 2019
    • Web
    • Elm
  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. An Elm debugging story

    This tricky bug requires us to pull out a variety of debugging techniques.

    Joël Quenneville
    October 3, 2019
    • Web
    • Elm
    • Debugging
  10. Debugging DOM event handlers in Elm

    Elm’s DOM event handlers fail silently. Here’s how to debug them.

    Joël Quenneville
    September 25, 2019
    • Elm
    • Web
  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 1 2 3 4 5 6 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