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
Web Development
  • Ruby on Rails
  • Hotwire
  • AI and Machine Learning
  • React
  • Maintenance
Mobile Development
  • React Native
  • iOS
  • Android
Design
  • UX, UI, and Product Design
  • Design Research
  • Design Systems
Product
  • Product Management
  • Product Design Sprint
  • Research and Strategic Insights
  • Accessibility
Team and Processes
  • Team Augmentation
  • Fractional Leadership
  • Level up your junior team
View all Services
View all Resources
Development
  • Tech Leadership Resources
  • Open Source
  • Books
  • The Bike Shed Podcast
  • Live Streaming on YouTube
The business of great software
  • Playbook
  • Startup Incubator
  • 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 strategy, design, product management, and development partner.

    • All Topics
    • Design
    • Web
    • iOS
    • Android
    • More topics
  1. Two ways of looking at map functions

    Map functions are hard to “get” in the abstract. This looks at two mental models that helped me understand them better.

    Joël Quenneville
    November 20, 2017
    • Elm
    • Web
    • Functional Programming
  2. Bridging Elm and JavaScript with Ports

    Elm is strongly-typed; JavaScript is not. Communication between the two is paramount for large applications and ports enable this.

    Josh Clayton
    October 25, 2017
    • Elm
    • JavaScript
    • Web
  3. Modeling with Union Types

    Clean up Maybe by modeling multiple shapes of data with union types.

    Joël Quenneville
    October 13, 2017
    • Elm
    • Web
  4. Elm and Rails Sitting in a Tree

    I-N-T-E-G-R-A-T-I-N-G: Webpacker makes using Elm in your Rails app pain-free.

    Tom Wey and Josh Clayton
    October 9, 2017
    • Rails
    • Elm
  5. Booleans and Enums

    Refactor common Boolean smells using enums (union types).

    Joël Quenneville
    September 20, 2017
    • Web
    • Elm
    • Good Code
  6. Alternative View Layers for an Elm App

    Get an Elm app to render using your favourite template library.

    Pablo Brasero
    July 10, 2017
    • Elm
    • Glimmer
    • Ember
    • JavaScript
    • Web
  7. Purple Train is Open Source!

    Peruse, fork, play with, and contribute to the code on GitHub.

    Ian C. Anderson
    June 12, 2017
    • News
    • iOS
    • Android
    • React Native
    • Elm
    • Mobile
  8. Extending Elm Native UI with JavaScript

    How to add extra UI functionality to your Elm Native UI project.

    Jon Yurek
    March 27, 2017
    • Code
    • Elm
    • JavaScript
    • Mobile
  9. Elm Native UI in Production

    We launched the first ever Elm Native UI app to production. Here’s our experience with it.

    Josh Steiner
    March 1, 2017
    • Elm
    • Mobile
    • iOS
    • Android
  10. Learning by helping

    How helping others made me a better developer.

    Joël Quenneville
    February 9, 2017
    • Web
    • Community
    • Elm
  11. Sign up to receive a weekly recap from thoughtbot

« First ‹ Prev 1 2 3 4 5 Next › Last »

Footer

thoughtbot
  • Services
  • Case Studies
  • Resources
  • Let's Talk
  • Our Company
  • Careers
  • Purpose
  • Blog
  • Sponsor
  • Mastodon
  • GitHub
  • Instagram
  • YouTube
  • Twitch
© 2024 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