🎁  A gift for you: save an additional 20% through Dec. 31st with coupon code MERRY2017.

Integrating Elm

A free video course to help you integrate (sneak!) Elm into existing web apps

Elm 0.18

Watch Course Intro

"Once I've learned Elm, how do I introduce it into my apps?"

Once folks discover how delightful it is to program in Elm, they're eager to find ways to use it in existing applications. Not everyone has the luxury of working on a greenfield Elm project. And a big rewrite is impractical and loaded with risk.

So here's a pragmatic idea: you incrementally and strategically convert a small part of your app to Elm. Learn how in this free course!

4 Practical Examples

In this 40-minute video course we walk through several practical ways to slip Elm into an existing, larger application. This is an intermediate course that assumes you're already familiar with the basics of Elm, or have completed our Building Web Apps with Elm course.

  • Embed Elm Anywhere (4:49) Elm can be set up to render within any element of a page, so you can sprinkle in Elm to taste. It's a practical way to convert small sections of your app. Sneaky!
  • Subscribe to External Events (13:43) Using an Elm subscription, your embedded code can listen for external events and react accordingly. Just because it's embedded doesn't mean it's cut off from the world.
  • Listen to WebSocket Messages (6:22) Got a backend websocket server? We'll hook up embedded Elm code to react to websocket messages. Real-time sports scores, anyone?
  • Interop with JavaScript(12:38) Elm can communicate with any JavaScript code, whether it's your own JavaScript or a third-party library. So you can start using Elm without rewriting what you already have.
Animation 1
Elm code
Animation 2

It's our hope that once you see practical ways that Elm can be integrated into larger apps you'll be inspired to give Elm a spin on your project. For more inspiration, check out this true story of how one developer successfully integrated Elm into his company.

High-Quality Videos
Access to streamable and downloadable, DRM-free videos on any device.
Notes and Exercises
Each video has a corresponding set of technical notes with bonus material, exercises, and handy tips.
Source Code
Includes starter files, stepped versions of the app for each module, and all the source for the final app.
Instant, Never-Ending Access
No monthly subscription or time limit. Revisit all the material whenever you want!

Integrating elm large

4 Videos • 40 Minutes

This is an intermediate course that assumes you're already familiar with the basics of Elm, or you've completed our Building Web Apps with Elm course.


Elm master package large

27 Videos • 4 Hours

Learn how to build Elm web apps from scratch with the master package that includes both the Integrating Elm and Building Web Apps with Elm courses.

Meet Mike & Nicole

Hey, there! Mike here. I love to create stuff and teach what I've learned. Over the past 20 years I've taught and used many languages to develop real applications, but there's a quality to Elm that feels special. I discovered it in late 2014 when looking for something fresh and fun to learn over the holidays. I'm as excited about Elm now as I was back then. Elm is what finally got me into functional programming. It made me a better programmer. And so I naturally can't help but want to share it with you!

Together Nicole and I own and run The Pragmatic Studio. We'd love to have you join us in the Studio for this great course! Learn more about us…

Mike nicole framed

Join other developers integrating Elm into their projects!

Yong bakos
Pretty cool introduction to subscriptions and ports. The diagrams were a huge help in getting a feel for the mechanics behind the concepts.” Yong Bakos
Loved this detailed yet simple and digestible course. I didn't have to take a break between the videos because it wasn't boring like most online tutorials.” Tosyn Oluwafemi
Walther diechmann
“Your videos are a trove of information on using Elm to building feature-rich websites. They are concise, clear, and to the point. They cut to the chase in every single installment. Thank you!” Walther Diechmann
Scott thompson
“I REALLY found Elm's Javascript interop to be confusing from the Elm docs, but your step-by-step walkthroughs were tremendously helpful. I would have paid for this course.” Scott Thompson
Rafael dourado
“You make Elm looks so easy.” Rafael Dourado
“As always, an absolutely clear and detailed presentation.” Mickey Vashchinsky
“I'd read about Elm ports in other places and found the descriptions confusing. Your course explained them in a way which filled in all the details. Clear and easy to understand!” Mike Solem