Track Awesome Elm Updates Daily
A curated list of useful Elm tutorials, libraries and software. Inspired by awesome list. Feel free to contribute. :rocket:
🏠 Home · 🔍 Search · 🔥 Feed · 📮 Subscribe · ❤️ Sponsor · 😺 sporto/awesome-elm · ⭐ 3.6K · 🏷️ Programming Languages
Jul 07, 2024
Learning Guides / Learning Videos
- Welcome to Elm - Video playlist about learning all the Elm fundamentals.
Apr 11, 2024
Examples / Other editors
- Regex Nodes (⭐31) - A node-based visual editor for fiddling with regular expressions, built with Elm.
Jul 24, 2023
Conferences / Games
Jul 21, 2023
News / Miscellaneous videos
- Elm Greenwood - Elm packages releases
Dec 11, 2022
Examples / Other editors
- Conway's Game of Life (⭐0) - Elm implementation of Conway's Game of Life. Elm v.0.19
Oct 16, 2022
Podcasts / Miscellaneous videos
- Elm Town - A podcast about the people in the Elm community (Outdated).
Code generators / Individual Podcast episodes
- Elm Bridge (⭐101) - Generate Elm types from Haskell
- Elm CodeGen (⭐137) - Generate Elm code
- elm-gql (⭐66) - Generate GraphQl client code from GraphQL queries
- elm-graphql (⭐778) - Generate GraphQl client code from GraphQL schemas
- HTML to Elm - Convert HTML to Elm Html. Useful when porting an app to Elm.
- JSON Schema to Elm (⭐85) - Generates Elm types, JSON decoders, JSON encoders and fuzz tests from JSON schema specifications
- OpenApi Generator (⭐21k) - Generate OpenApi types for Elm.
- Quicktype (⭐12k) - Generate JSON decoders and encoders from JSON
- Travelm Agency (⭐46) - Generate typesafe Elm code from translation files
Frameworks / Outdated Boilerplates
- elm-spa - Framework for making single page apps in Elm.
- Elm Land - A framework for building Elm applications.
- Spades (⭐302) - Start an Elm SPA ready to the real world.
Compile and bundle / Outdated Boilerplates
- elm-compiler (⭐7.5k) - The official Elm compiler.
- elm-webpack-loader (⭐532) - Webpack loader Elm.
- Parcel - Bundle Elm using Parcel.
- vite-plugin-elm (⭐189) - Vite plugin for Elm.
Community and Support / Games
- Slack - Elm slack community.
Oct 14, 2022
Code generators / Individual Podcast episodes
- Protoc Gen Elm (⭐15) - Generate Protobuf En/Decoders from .proto files
Examples / Games
- TheSpace App (⭐3) - A reddit place like DApp with blockchain and canvas(through port) integration in Elm.
Sep 15, 2022
Run Elm / Outdated Boilerplates
- Elm Watch (⭐150) -
elm make
in watch mode. Fast and reliable.
Jun 25, 2022
Boilerplates / Outdated Boilerplates
- generator-elm-mdl (⭐0) - Yeoman generator for a simple elm application utilizing Material Design.
Mar 15, 2022
Learning Guides / Learning Videos
- Elm The Complete Guide - Video tutorial including Elm UI, Elm Review, responsive design, tests and more.
Aug 12, 2021
Learning Guides
- Awesome Elm PLTD (⭐44) - Useful resources for programming language theory & development in Elm.
Beyond the DOM / Games
- elm-posix (⭐89) - Write CLI programs using Elm
Jul 28, 2021
Learning Guides
- A nice app on Elm street - An introduction to Elm
Jul 21, 2021
Code generators / Individual Podcast episodes
- Elm TS Interop (⭐42) - Build up Encoders/Decoders between Elm and TypeScript.
- Elm TypeScript Interop (⭐164) - Generate TypeScript definitions from Elm (
Elm TS Interop
is an improved version of this).
- haskell-to-elm (⭐61) - Generate Elm types, encoders, and decoders from Haskell types
- PostCSS Elm Tailwind (⭐98) - Put some Tailwind in your Elm
Other tools / Unmaintained
- Elm Catalog - A catalog of Elm tools.
- Dependabot - Automatic update PRs for your elm.json.
- Elm Doc Preview (⭐126) - Elm offline documentation previewer.
- Elm Format (⭐1.3k) - Automatic Elm code formatter adhering to Elm Style Guide.
- Elm JSON (⭐181) - Install, upgrade and uninstall Elm dependencies
- Elm Oracle (⭐150) - Query for information about values in elm source files. Used by most editor plugins.
- type-o-rama (⭐245) - JS type systems interportability.
- Html to Elm - Convert HTML to Elm.
- Litvis (⭐373) - Literate Visualization with Elm
Static analysis / Outdated Boilerplates
- Elm Analyse (⭐418) - Linter for the Elm programming language.
- Elm Review (⭐246) - Code reviewer for the Elm programming language.
Static site generators / Outdated Boilerplates
- Elm Pages - Static site generator that prerenders HTML and hydrates into an Elm client-side app (here is a brief comparison with elmstatic).
- Elmstatic - Elm-based static site generator.
Showcase generators / Outdated Boilerplates
- Elm Book - Rich documentation builder based on Storybook and HexDocs.
- Elm UI Explorer (⭐215) - Showcase your views and states.
Run Elm / Outdated Boilerplates
- Ellie - The Elm Live Editor
- Elm Editor - Advanced Elm Live Editor
- run-elm (⭐52) — Run Elm code from the command line
- elm-instant - atom package to try your elm code from the editor. Provides a visual REPL and a preview pane.
- Glitch - Build fast, full-stack web apps in your browser.
- Elm Live - A flexible dev server for Elm. Live reload included!
Compile and bundle / Unmaintained
- grunt-elm (⭐19) - Grunt plugin that compiles Elm files to JavaScript.
Editor plugins / Atom
- atom-linter-elm-make - Elm code linter for the Atom editor.
- atom-elm-snippets (⭐6) - Elm snippets for Atom.
- atom-language-elm - Syntax highlighting and autocompletion for the Atom editor.
- elmjutsu - Autocompletion, go to definition, find usages, rename symbol, etc. for the Atom editor.
- atom-elm-navigator - A side panel that helps to navigate to any function, type definition or port in your project.
Editor plugins / Emacs
- emacs-elm-mode (⭐374) - Syntax highlighting, Elm REPL, Elm make and Elm format integration for the Emacs editor.
Editor plugins / IntelliJ
- elm-plugin (⭐393) - Elm plugin for IntelliJ IDEA.
Editor plugins / Sublime Text
- LSP-elm (⭐7) - Elm Language Server for Sublime (Recommended).
- Elm Language Server (⭐415) - Language server implementation for Elm
- Elm Syntax Highlighting - Syntax Highlighting for Elm in Sublime Text.
- Elm Format on Save (⭐23) - Sublime Text plugin to run elm-format on save.
Editor plugins / Vim/Neovim
- theJian/elm.vim (⭐0) - Elm syntax highlighting. Use with ale or Neoformat for Neovim (⭐1.3k) since ElmCast/elm-vim does not support Elm 0.19.
- ElmCast/elm-vim (⭐573) - Elm 0.18 mode for Vim/Neovim.
- vim-elm-help (⭐7) - Offline Elm documentation access in your editor.
- emmet-vim (⭐6.4k) - Markup expansion with elm support.
Editor plugins / Visual Studio Code
- ElmLS - Elm Language Server integration
- Elmmet: Emmet for Elm (Visual Studio Code) - Emmetio abbreviation expander into composition of Elm function with elm-format'er inside.
- HTML to Elm for Visual Studio Code - VSCode plugin to convert HTML to Elm
Editor plugins / Other editors
- elm-light-table (⭐133) - Syntax highlighting, REPL, autocompletion, package management and much more for Light Table.
Jul 05, 2021
Testing / Individual Podcast episodes
- Elm Spec (⭐29) - Describe the behavior of Elm programs.
Mar 21, 2021
Learning Guides
- Elm in Action — In-depth book for Elm beginners, from Manning Publications.
Learning Guides / Learning Videos
- Egghead.io: Elm videos - Egghead's Elm video training, many of which are free.
Podcasts / Individual Podcast episodes
- The Changelog 218 - Elm with Evan Czaplicki and Richard Feldman
- The Changelog 191 - Elm and Functional Programming with Richard Feldman.
Feb 19, 2021
Inspired by Elm / Games
- Bucklescript-TEA (⭐601) - The Elm Architecture based on OCaml / Reason and Bucklescript
- Oolong - An Elm inspired Model-View-Update (MVU) implementation for Kotlin multiplatform.
Feb 10, 2021
Inspired by Elm / Games
- MAUI - .NET Multi-platform App UI
Feb 08, 2021
Boilerplates / Individual Podcast episodes
- Elm Batteries (⭐116) - A project template and generator for Elm, Parcel, Cypress and Netlify
- IHP + Elm - The IHP Haskell Framework provides a built-in Elm boilerplate, useful when working with elm in the frontend and haskell in the backend
Jan 17, 2021
Learning Guides
- Elm patterns - A collection of coding patterns.
- Codings hints (⭐7.5k) - A list of README files by Evan.
- Ellies catalog - A Collection of small example in Ellie.
- Elm Cookbook - A digital book about Elm.
Oct 15, 2020
Examples / Other editors
- Bolster (⭐8) - An end-to-end encrypted journal app.
Aug 29, 2020
Learning Guides
- Elm patterns - A collection of common patterns in Elm.
Aug 09, 2020
Examples / Games
- elm-games (⭐143) - An excellent list of games made in Elm
Apr 29, 2020
Examples / Other editors
- Builtwithelm - Web site built with elm with list of projects and apps built with Elm.
- Elm SPA Example - Full stack Elm app w/ CRUD operations, Auth, routing, pagination and more. Code (⭐3.3k) / Article / Video
- Elm Example App (⭐436) - A small SPA example in Elm to learn the basics
- TodoMVC (⭐1.2k) - Proper implementation of the TodoMVC app.
- TodoMVC with JSON API (⭐105) - Bare-bones, modular, heavily-documented todo app with JSON API persistence.
- TodoMVC/Firebase (⭐60) - Fork of TodoMVC demonstrating start-app, The Elm Architecture (⭐4.2k) and Firebase as backend.
- TodoMVC in Electron (⭐87) - Documented and tested implementation of the Elm TodoMVC app in Electron.
- Gipher (⭐223) - A Tinder-like application for gifs built with elm and firebase!
- Collection of examples (⭐210) - A collection of examples with advanced techniques for real-world Elm apps.
- <elm-ement> (⭐50) – Minimal example of a custom element.
- Elm Playground - Tiny Elm projects implemented for the sake of learning by example.
- Elm Architecture in Android (⭐59) - An example Android application implemented with the Elm Architecture using the Kotlin programming language and Anko library.
- Elm + Phoenix + Webpack (⭐55) - A minimal Elm + Phoenix setup, using webpack instead of Brunch.
- Spotify Mapper (⭐64) - Elm app integrated with Spotify Api to search and explore new artists.
- Pokelmon (⭐15) - Elm project consuming PokéAPI.
- JWT auth with Django + Elm (⭐20) - JSON Web Token (JWT) authentication using Django (backend) and Elm (frontend).
- Bitcoin BR Chrome Extension (⭐4) - Chrome extension built in Elm that shows the bitcoin value in all Brazilian exchanges.
- Elmstagram (⭐18) - Basic UI Clone of Instagram / Articles - Part 1 Part 2 Part 3
- Kanban Board in Elm (⭐300) - A kanban board (trello-alike) built with Elm and HTML5 Drag & Drop API
- Elm Playground - Pure SPA (with routing) exploring various aspects of Elm.
- Elm Hacker News PWA (⭐1) - A progressive web app built with Elm version 0.18, using the official Hacker-News API
- Elm Narrative Engine (⭐132) - A framework for building interactive fiction style stories in Elm. Detailed example elmnarrativeengine.com shows how to build a "chose your own adventure" game; perfect for beginners. Elm v.0.19
- Ari's Garden (⭐55) - A recipe site built as an SPA that also makes use of the Elm parser.
Apr 17, 2020
News / Miscellaneous videos
- Elm Bits - A free weekly newsletter about Elm featuring hand-picked news, articles, books, events, tools, and libraries.
Apr 15, 2020
Podcasts / Miscellaneous videos
- Elm Radio - Tune in to the tools and techniques in the Elm ecosystem.
Apr 08, 2020
Learning Guides
- The Elmish Book Building web applications in F# following The Elm Architecture from first principles.
Mar 03, 2020
Conference Videos / Playlists
- Elm Conf 2018 - All talks from elm-conf 2018
- Elm Europe 2018 - A playlist of all talks from Elm Europe 2018
- Elm Europe 2017 - A playlist of all talks from Elm Europe 2017
- Elm Conf 2016 - All talks from elm-conf 2016
Mar 02, 2020
Learning Guides
- Learn Elm (⭐477) - Discover the beautiful programming language that makes front-end web apps a joy to build and maintain!
Community and Support / Games
- Companies using Elm (⭐461) - A list of companies using Elm in production.
Jan 15, 2020
Boilerplates / Individual Podcast episodes
- elm-boil (⭐20) - Command Line Utility for creating an Elm boilerplate project easy to run, build and get deployed
Jan 13, 2020
Libraries / Individual Podcast episodes
- Elm packages - The official registry
- Elm Search - Search Elm documentation for operators, function signatures, etc.
Nov 27, 2019
Conference Videos / Playlists
- Elm Europe 2019 - Jun 2019
Inspired by Elm / Games
- Bolero - F# in WebAssembly using Elmish
- Iced (⭐23k) - A cross-platform GUI library for Rust, inspired by Elm
Nov 20, 2019
Conference Videos / Playlists
- Oslo Elm Day 2017 - A playlist of all talks from Oslo Elm Day 2017
Conferences / Games
Sep 19, 2019
Conference Videos / Playlists
- Elm Conf 2019 - Sep 2019
Sep 05, 2019
Testing / Individual Podcast episodes
- Elm test (⭐233) - Unit and fuzz tests
- Elm Program test (⭐93) - Test complete Elm programs
Jul 24, 2019
News / Miscellaneous videos
- Official Elm News - Official Elm blog
- Elm Weekly - A weekly newsletter about Elm
- Elm News - All Elm news in one place
- Elm Reddit - Elm news in Reddit
Jul 22, 2019
Learning Guides
- Haskell to Elm (⭐67) - Collection of examples on places where Elm is different to Haskell, targeted at Elm beginners coming from Haskell backgrounds.
Inspired by Elm / Games
- Elchemy (⭐1.1k) - Write Elixir code using statically-typed Elm-like syntax
- Elmish (⭐825) - Elm-like abstractions for F# apps
- Fabulous (⭐1.1k) - F# Functional App Development, using declarative dynamic UI
- Redux - A predictable state container for JavaScript apps.
Beyond the DOM / Games
- iOS (⭐159) A POC for using Elm 0.18 for native iOS Applications
- elmish-wasm (⭐18) A POC for compiling elm to Web Assembly
- elm-serverless (⭐169) Run Elm 0.18 on Cloud Functions using the Serverless Frameworks
Jul 13, 2019
Articles / Why Elm?
- Side-effects of Elm in production - An experience report from Bellroy
- How Elm Made Our Work Better - How a team built a business-critical web app for a customer using Elm.
- Blazing Fast HTML - Virtual DOM in Elm.
- Elm from a Business Perspective - This article discusses topics about Elm from a business perspective
- Move fast and don’t break things. Running a startup on Elm - Some thoughts on Elm development by a Swedish startup.
Articles / Miscellaneous articles
- Blog of Brian Hicks - A blog with various topics about Elm.
- Introduction to The Elm Architecture and How to Build our First Application - An article describing the Elm architecture and how to build a simple application
- Functional Programming for Web Frontend by Jan Luxemburk - A Bachelor’s thesis about functional programming for frontend development with the focus on Elm.
Articles / Outdated articles (Not relevant for current Elm architecture)
- Composing Features and Behaviours in the Elm Architecture - An article describing how to organize code that follows the Elm architecture into independent features, how to communicate between features, and how to group some of these features together to assemble larger features.
Conference Videos / Playlists
- Elm in the Spring 2019 - Jun 2019
- Oslo Elm Day 2019 - Feb 2019
- Elm Conf 2017 - All talks from elm-conf 2017
Conference Videos / Miscellaneous videos
- Dillon Kearns: Types Without Borders | 2018 - elm-conf 2018 talk about end-to-end type-safety using external schemas like GraphQL.
- Jamison Dance: Rethinking All Practices - Building Applications in Elm | 2016 - A talk given at React.js Conf 2016 about what Elm has to teach the JavaScript world and why JS devs should consider trying it.
- Richard Feldman: Introduction to Elm | 2016 - A talk that gives a broad, high-level introduction to Elm.
- Amitai Burstein: Frontend with Guarantees | 2016 - A talk from You Gotta Love Frontend 2016
- Jessica Kerr: Adventures in Elm | 2016 - A talk about the combination of functional programming with Elm at GOTO Chicago 2016.
- Aaron VonderHaar: Codevember | 2016 + ElmLive - elm live video examples.
- Richard Feldman: Making impossible states impossible | 2016 - A talk about modelling data structures in Elm in a way that makes invalid states unrepresentable
- Richard Feldman: Effects as Data | 2015 - A talk about how Elm manages side effects.
- Richard Feldman: Make the Back-End Team Jealous: Elm in Production | 2015 - A talk about Elm and initial steps to use it in production.
- Evan Czaplicki: Let's be mainstream! User focused design in Elm | 2015 - A talk from the father of Elm about the philosophy behind the language.
Boilerplates / Individual Podcast episodes
- create-elm-app (⭐1.7k) - Create Elm apps with no build configuration.
- elm-live (⭐1.1k) - A flexible dev server for Elm. Live reload included.
- elm-webpack-4-starter (⭐112) - Elm webpack 4 starter template.
- example-elm-hot-webpack (⭐8) - Example showing hot module reloading for Elm 0.19 and Webpack
Conferences / Games
Jul 12, 2019
Learning Guides
- Exercism Elm Track - Collection of Elm exercises.
- Beginning Elm - A gentle introduction to the Elm programming language.
- Elm Koans (⭐234) - Practice exercises for learning Elm.
- Learn Elm in Y Minutes - Syntax and features overview. The Elm page on learnxinyminutes.com
- Elm Maybe - Dealing with null/Nothing - Working with the Maybe type, with nicely commented code examples.
- Programming Elm - Thorough book from The Pragmatic Programmers that covers basics and advanced concepts.
- Elm cheat sheet (⭐950) - Syntax and features overview.
- Ninety-nine Problems, Solved in Elm - Adaptations for Elm from Ninety-Nine Haskell Problems.
- Elm Tutorials on Codementor - Two tutorials on building web apps with Elm.
- Elm programming language - a brief overview of Elm as a programming language.
- Elm: A Beginners' Guide to Elm and Data - Beginners' course to Elm and Data
- Practical Elm for a Busy Developer - A non-beginner book about the practical aspects of developing Elm applications.
Learning Guides / Outdated Tutorials and books (Elm 0.18 or earlier)
- Elm: Building Reactive Web Apps - Learn how to build reactive web apps using Elm.
- Elm Tutorial - A tutorial on developing single page web applications with Elm.
May 22, 2018
Community and Support / Games
- Discourse - Elm Discourse instance (official forum).
Mar 12, 2018
Boilerplates / Outdated Boilerplates
- elm-webpack-starter-kid (⭐5) - A very very basic elm + webpack 4 template.
Feb 21, 2018
Boilerplates / Outdated Boilerplates
- elm-boilerplate (⭐3) - A simple Makefile able to create Elm app.
- elm-init (⭐11) - Interactive setup for new Elm projects.
- elm-new (⭐81) - Generate initial project scaffolding based on a template.
Jul 14, 2017
Learning Guides / Outdated Tutorials and books (Elm 0.18 or earlier)
- Elm Tutorial by Auth0 - A tutorial on building an app in Elm from authentication to calling an API.
May 11, 2017
Podcasts / Individual Podcast episodes
- InfoQ Podcast 2017-04-27 - Richard Feldman discusses how Elm compares to React.js
Apr 17, 2017
Learning Guides / Outdated Tutorials and books (Elm 0.18 or earlier)
- Elm FAQ - Elm FAQ from Elm Community.
Nov 22, 2016
Learning Guides / Learning Videos
- Greg Ziegan: Elm live coding videos - Live coding videos on youtube.
Nov 20, 2016
Learning Guides / Outdated Tutorials and books (Elm 0.18 or earlier)
- Elm For Beginners - Video Course - Build your first Elm Web App.
Oct 28, 2016
Podcasts / Individual Podcast episodes
- Full Stack Radio 44 - What the heck is Elm? In this episode, Joel Clermont talks about Elm and functional programming.
Oct 19, 2016
Podcasts / Individual Podcast episodes
- The Web Platform Podcast 108 - Elm Revisited.
Oct 05, 2016
Boilerplates / Outdated Boilerplates
- elmkit (⭐52) - A lightweight Brunch based setup for web app. Includes Brunch, Hot Module Replacement, Elm, Scss, Elm tests.
Sep 25, 2016
Learning Guides / Outdated Tutorials and books (Elm 0.18 or earlier)
- Single-Page Web Apps in Elm - Five parts tutorial on Elm.
Jul 19, 2016
Learning Guides / Learning Videos
- Elm Basics - Walk through all the syntax and basic ideas in Elm as a general programming language.
Jul 01, 2016
Learning Guides / Outdated Tutorials and books (Elm 0.18 or earlier)
- Elm Seeds - Short screencasts to teach you the Elm programming language from Erik Person.
Apr 27, 2016
Articles / Outdated articles (Not relevant for current Elm architecture)
- Elm & Guarantees - a realistic look at where Elm is and isn’t superior to other options.
Apr 26, 2016
Boilerplates / Outdated Boilerplates
- elm-app-boilerplate (⭐120) - A fully-featured base project for Elm apps: Webpack, HMR, ES6, JS and Elm tests, Semantic UI, sample code and more.
Apr 18, 2016
Articles / Outdated articles (Not relevant for current Elm architecture)
- Elm & Components - A blog post describing a possible approach to reducing TEA boilerplate. Useful for component libraries and anyone interested in seeing the amazing things you can do with function types.
Mar 31, 2016
Articles / Outdated articles (Not relevant for current Elm architecture)
- Getting Started with Elm - Series of Elm education tutorials.
Mar 20, 2016
Podcasts / Individual Podcast episodes
- Functional Geekery 33 - Richard Feldman and Tessa Kelly.
- Software Engineering Daily - Elm with Richard Feldman and Srinivas Rao.
- The Web Platform Podcast 15 - Functional Programming with Elm, ClojureScript, Om, and React.
- The Web Platform Podcast 76 - The Elm Programming Language.
Mar 09, 2016
Boilerplates / Outdated Boilerplates
- elm-webpack-starter (⭐862) - A simple Webpack setup for writing Elm apps.
Feb 02, 2016
Learning Guides / Outdated Tutorials and books (Elm 0.18 or earlier)
- Elm: Functional frontend development - Series of articles about fundamentals and advanced topics.
Jan 30, 2016
Learning Guides / Outdated Tutorials and books (Elm 0.18 or earlier)
- Writing native (⭐357) - Learn how to create native JavaScript modules for Elm.
Jan 20, 2016
Learning Guides
- Official tutorial — General information and in-depth guide with examples.
Community and Support / Games
- Reddit - Elm board on reddit.
Jan 13, 2016
Learning Guides
- Learn you an Elm - Elm tutorial with exhaustive examples and descriptions.
Sep 20, 2015
Articles / Outdated articles (Not relevant for current Elm architecture)
- Elm for Web Developers (⭐56) - A collection of notes for web developers looking into moving to Elm.
Jun 25, 2015
Articles / Miscellaneous articles
- Learning FP the hard way - Experiences on the Elm language.
May 21, 2015
Articles / Why Elm?
- FP with games in Elm (⭐1.6k) - Switching from imperative to functional programming with games in Elm.
Package managers / Individual Podcast episodes
- elm-package (⭐213) - Command line tool to share Elm libraries.
More awesome / Games
May 15, 2015
Community and Support / Games
- IRC - Ask questions on elm freenode.
Apr 23, 2015
Learning Guides
- Architecture Tutorial (⭐4.2k) - How to create modular Elm code that scales nicely with your app.