⭐️ New Developing With Elixir/OTP Course - Special Launch Price!

Building Web Apps with Elm

Craft a reactive Elm web app from start to finish

Elm 0.18

Quickly get up to speed with Elm as you build a reactive, reliable web app from scratch in this 3.5-hour video course.

You'll get step-by-step guidance and expert advice in an engaging format you won't find anywhere else.

Discover the joy of writing front-end code that stays well-factored and easy to maintain as your web app grows!

Evan czaplicki
“... great ramp up from total beginner to building apps and having fun!” Evan Czaplicki, creator of Elm
Alan gardner
“If there's a better way to learn Elm out there, I've not found it. Fantastic work!” Alan Gardner
James edward gray
“... a great way to get some traction with a super fun language.” James Edward Gray II
Matthew machuga
“A very practical, hands-on approach to learning Elm. Great course overall!” Matthew Machuga

Course Outline

Go From a New Project to Talking to a JSON API Developing a real app with real code, you'll gain practical experience putting all the pieces together to craft web apps the Elm way.

This course takes a project-based approach, so you won't find a course module such as "Elm Strings". Boring! Instead, we incrementally add new features as we build out a complete Elm web app from start to finish.

By building up to the point where we need to learn a new facet of Elm to accomplish something in our application, you'll gain a deeper understanding of both the "how" and the "why" of Elm development. Learning this way makes everything "click"... and it's just more fun!

22 Videos • 3.5 Hours • Exercises Cover
  • 1. Introduction and Setup (1:49) free
  • 2. Hello, Elm! (6:35) free
  • 3. Compiling and Running (4:16) free
  • 4. Calling Functions (7:32)
  • 5. Defining Functions (8:07)
  • 6. Rendering HTML (9:41)
  • 7. Not Your Father's Type System (11:38)
  • 8. Currying (5:50)
  • 9. Modeling Application State: Records (5:07)
  • 10. Type Aliases (6:12)
  • 11. Mapping Over HTML Lists (7:28)
  • 12. Updating the Model via Messages (11:31)
  • 13. The Elm Architecture (7:33)
  • 14. Summing Points: Fun with Lists (4:42)
  • 15. Intro to Effects and Commands (12:13)
  • 16. Fetching Data From a Backend API (12:50)
  • 17. Decoding JSON (11:29)
  • 18. Failures, Maybe? (11:56)
  • 19. Posting JSON To a Backend API (11:53)
  • 20. Reacting To Input Fields (11:54)
  • 21. Organizing Code (11:13)
  • 22. Designing Around Concepts (15:23)
High-Quality Videos
Access to streamable and downloadable, DRM-free videos on any device. Total duration is 3.5 hours.
Exercises and Notes
Each video has hands-on exercises, supplemental notes, alternate design techniques, and handy tips and tricks.
Source Code
Includes starter files, stepped versions of the app for each module, and all the source for the final app.
Instant, Lifetime Access
No monthly subscription or time limit. Revisit all the material whenever you want!

For Experienced Developers

Looking to modernize your front-end development skill set? We designed this course for you! To respect your time in the videos, we assume you're already fluent in HTML, CSS, and another programming language. However, we don't assume you have prior experience with functional programming or Elm.

We aim for 100% satisfied developers, so if this course turns out not to be a good fit for you, we'll gladly issue you a 100% refund.

From 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
Integrating elm large

How To Integrate Elm Into Your Apps

Once folks learn Elm, they're eager to find ways to use it in existing applications. So how do you go about introducing Elm at your company? Learn several practical ways to integrate Elm into existing applications in our free Integrating Elm course. You can then apply these same techniques on your project!

Also, check out the true story of how one developer successfully integrated Elm into his company and learn from his step-by-step approach.

What Is Elm?

Elm is a functional programming language that compiles to JavaScript and runs in the browser, designed and developed by Evan Czaplicki. Elm embraces the good parts of functional programming, but lets you ignore the theoretical underpinnings.

Why are we so excited about Elm? First and foremost, it's designed to be fun and friendly to use. Indeed, Elm upends the notion that functional programming is only accessible to mad scientists and academics. With its clean and readable syntax, world-class tooling, and friendly compiler, Elm is truly a delightful language.

Don't let its friendly face fool you though; Elm is also incredibly powerful and ready for the biggest projects. The Elm Architecture helps you create complex, modular web apps with code that stays easy to maintain as you add features. Toss in great performance, no runtime exceptions, and JavaScript interop, and you've got a super-charged way to produce reliable, scalable, and maintainable web apps!

But what we love most about Elm is that you can actually build practical stuff with it quickly, which is exactly what we do in this course.

Join thousands of others who have learned Elm using this top-rated course!

Mike gehard
Love this Elm tutorial. Time to write front end code again since I don't need to use JS.” Mike Gehard
Ian taylor
“...loving the course on @elmlang! finally getting my head around this awesome #WebDev language!” Ian Taylor
Jake trent
“A great, practical introduction to Elm. Straightforward with a great ease-in approach to new concepts.” Jake Trent
Vitor capela
“This is a perfect, succinct introduction that helps cement the idea that Elm is a usable language for the day-to-day.” Vitor Capela
Matthew machuga
“A very practical, hands-on approach to learning Elm. Great course overall!” Matthew Machuga
Misha moroshko
“Well done! This course is a great value for the money! It was straight to the point for developers with Javascript knowledge.” Misha Moroshko
Alan gardner
“The course was practical, informative and exceptionally well-paced. I love that pretty much as soon as a question sprung into my head you answered it. If there's a better way to learn Elm out there, I've not found it. Fantastic work!” Alan Gardner
Philip poots
“Mike Clark is an excellent teacher. He explains the concepts clearly and concisely... He introduces everything incrementally and at no point did I feel overloaded. Quite the opposite, there were a number of times when he displayed the uncanny ability to read the questions arising in my mind while going through the material...” Philip Poots' Full Course Review