awesome-elm

Elm resource list

A curated collection of resources for learning and improving skills with the Elm programming language

A curated list of useful Elm tutorials, libraries and software. Inspired by awesome list. Feel free to contribute. rocket

GitHub

4k stars
142 watching
222 forks
last commit: 5 months ago
Linked from 6 awesome lists

awesomeawesome-listelmelm-appselm-languageelm-newselm-tutorialelm-videos

Awesome Elm / Table of Contents

Contribution Guidelines 3,609 5 months ago

Awesome Elm / Learning Guides

Official tutorial — General information and in-depth guide with examples
Elm in Action — In-depth book for Elm beginners, from Manning Publications
Architecture Tutorial 4,172 almost 5 years ago How to create modular Elm code that scales nicely with your app
Exercism Elm Track Collection of Elm exercises
Learn you an Elm Elm tutorial with exhaustive examples and descriptions
Beginning Elm A gentle introduction to the Elm programming language
Elm patterns A collection of common patterns in Elm
Elm Koans 235 about 5 years ago Practice exercises for learning Elm
Learn Elm 482 23 days ago Discover the beautiful programming language that makes front-end web apps a joy to build and maintain!
Learn Elm in Y Minutes Syntax and features overview. The Elm page on
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 951 over 6 years ago 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
Haskell to Elm 67 almost 8 years ago Collection of examples on places where Elm is different to Haskell, targeted at Elm beginners coming from Haskell backgrounds
A nice app on Elm street An introduction to Elm
The Elmish Book Building web applications in following The Elm Architecture from first principles
Elm patterns A collection of coding patterns
Codings hints 7,553 4 months ago A list of README files by Evan
Ellies catalog A Collection of small example in Ellie
Elm Cookbook A digital book about Elm
Awesome Elm PLTD 46 28 days ago Useful resources for programming language theory & development in Elm

Awesome Elm / 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
Writing native 356 over 8 years ago Learn how to create native JavaScript modules for Elm
Elm: Functional frontend development Series of articles about fundamentals and advanced topics
Elm Tutorial A tutorial on developing single page web applications with Elm
Elm Seeds Short screencasts to teach you the Elm programming language from Erik Person
Elm For Beginners - Video Course Build your first Elm Web App
Single-Page Web Apps in Elm Five parts tutorial on Elm
Elm FAQ Elm FAQ from
Elm Tutorial by Auth0 A tutorial on building an app in Elm from authentication to calling an API

Awesome Elm / Learning Guides / Learning Videos

Welcome to Elm Video playlist about learning all the Elm fundamentals
Elm The Complete Guide Video tutorial including Elm UI, Elm Review, responsive design, tests and more
Egghead.io: Elm videos Egghead's Elm video training, many of which are free
Elm Basics Walk through all the syntax and basic ideas in Elm as a general programming language
Greg Ziegan: Elm live coding videos Live coding videos on youtube

Awesome Elm / 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
FP with games in Elm 1,577 2 months ago Switching from imperative to functional programming with games in 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

Awesome Elm / Articles / Miscellaneous articles

Learning FP the hard way Experiences on the Elm language
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

Awesome Elm / Articles / Outdated articles (Not relevant for current Elm architecture)

Elm for Web Developers 56 almost 9 years ago A collection of notes for web developers looking into moving to Elm
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
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
Getting Started with Elm Series of Elm education tutorials
Elm & Guarantees a realistic look at where Elm is and isn’t superior to other options

Awesome Elm / Conference Videos / Playlists

Elm Conf 2019 Sep 2019
Elm Europe 2019 Jun 2019
Elm in the Spring 2019 Jun 2019
Oslo Elm Day 2019 Feb 2019
Elm Conf 2018 All talks from elm-conf 2018
Elm Europe 2018 A playlist of all talks from Elm Europe 2018
Elm Conf 2017 All talks from elm-conf 2017
Elm Europe 2017 A playlist of all talks from Elm Europe 2017
Oslo Elm Day 2017 A playlist of all talks from Oslo Elm Day 2017
Elm Conf 2016 All talks from elm-conf 2016

Awesome Elm / 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 + - 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

Awesome Elm / News

Official Elm News Official Elm blog
Elm Weekly A weekly newsletter about Elm
Elm Bits A free weekly newsletter about Elm featuring hand-picked news, articles, books, events, tools, and libraries
Elm News All Elm news in one place
Elm Greenwood Elm packages releases
Elm Reddit Elm news in Reddit

Awesome Elm / Podcasts

Elm Radio Tune in to the tools and techniques in the Elm ecosystem
Elm Town A podcast about the people in the Elm community (Outdated)

Awesome Elm / Podcasts / Individual Podcast episodes

Functional Geekery 33 Richard Feldman and Tessa Kelly
The Changelog 218 Elm with Evan Czaplicki and Richard Feldman
The Changelog 191 Elm and Functional Programming with Richard Feldman
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
The Web Platform Podcast 108 Elm Revisited
Full Stack Radio 44 What the heck is Elm? In this episode, Joel Clermont talks about Elm and functional programming
InfoQ Podcast 2017-04-27 Richard Feldman discusses how Elm compares to React.js

Awesome Elm / Testing

Elm test 237 9 months ago Unit and fuzz tests
Elm Program test 93 6 months ago Test complete Elm programs
Elm Spec 29 over 1 year ago Describe the behavior of Elm programs

Awesome Elm / Code generators

Elm Bridge 100 about 2 months ago Generate Elm types from Haskell
Elm CodeGen 138 about 2 months ago Generate Elm code
Elm TS Interop 42 over 1 year ago Build up Encoders/Decoders between Elm and TypeScript
Elm TypeScript Interop 165 about 3 years ago Generate TypeScript definitions from Elm ( is an improved version of this)
elm-gql 69 2 months ago Generate GraphQl client code from GraphQL queries
elm-graphql 779 5 months ago Generate GraphQl client code from GraphQL schemas
haskell-to-elm 61 4 months ago Generate Elm types, encoders, and decoders from Haskell types
HTML to Elm Convert HTML to Elm Html. Useful when porting an app to Elm
JSON Schema to Elm 88 4 months ago Generates Elm types, JSON decoders, JSON encoders and fuzz tests from JSON schema specifications
OpenApi Generator 21,872 4 days ago Generate OpenApi types for Elm
PostCSS Elm Tailwind 98 almost 2 years ago Put some Tailwind in your Elm
Protoc Gen Elm 16 10 days ago Generate Protobuf En/Decoders from .proto files
Quicktype 12,452 3 months ago Generate JSON decoders and encoders from JSON
Travelm Agency 47 3 months ago Generate typesafe Elm code from translation files

Awesome Elm / Package managers

elm-package 214 about 6 years ago Command line tool to share Elm libraries

Awesome Elm / Libraries

Elm packages The official registry
Elm Catalog Find packages in a catalog organized into categories
Elm Search Search Elm documentation for operators, function signatures, etc

Awesome Elm / Boilerplates

create-elm-app 1,685 19 days ago Create Elm apps with no build configuration
elm-boil 20 over 1 year ago Command Line Utility for creating an Elm boilerplate project easy to run, build and get deployed
elm-live 1,053 over 2 years ago A flexible dev server for Elm. Live reload included
elm-webpack-4-starter 112 3 months ago Elm webpack 4 starter template
example-elm-hot-webpack 8 almost 6 years ago Example showing hot module reloading for Elm 0.19 and Webpack
Elm Batteries 117 about 3 years ago 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

Awesome Elm / Boilerplates / Outdated Boilerplates

elm-webpack-starter 861 almost 3 years ago A simple Webpack setup for writing Elm apps
elm-app-boilerplate 120 almost 7 years ago A fully-featured base project for Elm apps: Webpack, HMR, ES6, JS and Elm tests, Semantic UI, sample code and more
elmkit 52 about 1 year ago A lightweight Brunch based setup for web app. Includes Brunch, Hot Module Replacement, Elm, Scss, Elm tests
elm-boilerplate 3 about 7 years ago A simple Makefile able to create Elm app
elm-init 11 about 8 years ago Interactive setup for new Elm projects
elm-new 81 over 4 years ago Generate initial project scaffolding based on a template
elm-webpack-starter-kid 5 about 6 years ago A very very basic elm + webpack 4 template
generator-elm-mdl 0 5 months ago Yeoman generator for a simple elm application utilizing Material Design

Awesome Elm / Frameworks

elm-spa Framework for making single page apps in Elm
Elm Land A framework for building Elm applications
Spades 302 over 1 year ago Start an Elm SPA ready to the real world

Awesome Elm / Static analysis

Elm Analyse 415 over 1 year ago Linter for the Elm programming language
Elm Review 255 about 1 month ago Code reviewer for the Elm programming language

Awesome Elm / Static site generators

Elm Pages Static site generator that prerenders HTML and hydrates into an Elm client-side app ( )
Elmstatic Elm-based static site generator

Awesome Elm / Showcase generators

Elm Book Rich documentation builder based on Storybook and HexDocs
Elm UI Explorer 215 over 1 year ago Showcase your views and states

Awesome Elm / Run Elm

Ellie The Elm Live Editor
Elm Editor Advanced Elm Live Editor
run-elm 52 about 3 years ago — 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!
Elm Watch 155 25 days ago in watch mode. Fast and reliable

Awesome Elm / Compile and bundle

elm-compiler 7,553 4 months ago The official Elm compiler
elm-webpack-loader 532 11 months ago Webpack loader Elm
Parcel Bundle Elm using Parcel
vite-plugin-elm 201 10 days ago Vite plugin for Elm

Awesome Elm / Compile and bundle / Unmaintained

grunt-elm 19 over 6 years ago Grunt plugin that compiles Elm files to JavaScript

Awesome Elm / Other tools

Elm Catalog A catalog of Elm tools
Dependabot Automatic update PRs for your elm.json
Elm Doc Preview 128 almost 2 years ago Elm offline documentation previewer
Elm Format 1,312 over 1 year ago Automatic Elm code formatter adhering to
Elm JSON 182 over 1 year ago Install, upgrade and uninstall Elm dependencies
Elm Oracle 150 about 7 years ago Query for information about values in elm source files. Used by most editor plugins
type-o-rama 244 about 2 years ago JS type systems interportability
Html to Elm Convert HTML to Elm
elm-posix 91 about 3 years ago Write CLI programs using Elm
Litvis 379 2 months ago Literate Visualization with Elm

Awesome Elm / Editor plugins / Atom

atom-linter-elm-make Elm code linter for the Atom editor
atom-elm-snippets 6 almost 8 years ago 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

Awesome Elm / Editor plugins / Emacs

emacs-elm-mode 376 over 1 year ago Syntax highlighting, Elm REPL, Elm make and Elm format integration for the Emacs editor

Awesome Elm / Editor plugins / IntelliJ

elm-plugin 396 3 months ago Elm plugin for IntelliJ IDEA

Awesome Elm / Editor plugins / Sublime Text

LSP-elm 7 about 1 month ago Elm Language Server for Sublime (Recommended)
Elm Language Server 419 10 days ago Language server implementation for Elm
Elm Syntax Highlighting Syntax Highlighting for Elm in Sublime Text
Elm Format on Save 23 over 5 years ago Sublime Text plugin to run elm-format on save

Awesome Elm / Editor plugins / Vim/Neovim

theJian/elm.vim 0 over 6 years ago Elm syntax highlighting. Use with since ElmCast/elm-vim does not support Elm 0.19
ElmCast/elm-vim 573 over 3 years ago Elm 0.18 mode for Vim/Neovim
vim-elm-help 7 over 4 years ago Offline Elm documentation access in your editor
emmet-vim 6,427 3 months ago Markup expansion with elm support

Awesome Elm / 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

Awesome Elm / Editor plugins / Other editors

elm-light-table 133 over 7 years ago Syntax highlighting, REPL, autocompletion, package management and much more for Light Table

Awesome Elm / Examples

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. / /
Elm Example App 436 almost 6 years ago A small SPA example in Elm to learn the basics
TodoMVC 1,216 almost 5 years ago Proper implementation of the TodoMVC app
TodoMVC with JSON API 104 about 7 years ago Bare-bones, modular, heavily-documented todo app with JSON API persistence
TodoMVC/Firebase 60 over 8 years ago Fork of TodoMVC demonstrating start-app, and Firebase as backend
TodoMVC in Electron 87 about 2 years ago Documented and tested implementation of the Elm TodoMVC app in Electron
Gipher 222 over 8 years ago A Tinder-like application for gifs built with elm and firebase!
Collection of examples 210 almost 6 years ago A collection of examples with advanced techniques for real-world Elm apps
<elm-ement> 49 over 7 years ago – Minimal example of a custom element
Elm Playground Tiny Elm projects implemented for the sake of learning by example
Elm Architecture in Android 59 about 8 years ago An example Android application implemented with the Elm Architecture using the Kotlin programming language and Anko library
Elm + Phoenix + Webpack 55 over 6 years ago A minimal Elm + Phoenix setup, using webpack instead of Brunch
Spotify Mapper 65 over 1 year ago Elm app integrated with Spotify Api to search and explore new artists
Pokelmon 15 over 3 years ago Elm project consuming PokéAPI
JWT auth with Django + Elm 20 about 7 years ago JSON Web Token (JWT) authentication using Django (backend) and Elm (frontend)
Bitcoin BR Chrome Extension 4 about 7 years ago Chrome extension built in Elm that shows the bitcoin value in all Brazilian exchanges
Elmstagram 18 over 3 years ago Basic UI Clone of Instagram / Articles -
Kanban Board in Elm 300 over 5 years ago 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 about 7 years ago A progressive web app built with Elm version 0.18, using the official Hacker-News API
Elm Narrative Engine 134 over 1 year ago A framework for building interactive fiction style stories in Elm. Detailed example shows how to build a "chose your own adventure" game; perfect for beginners
Ari's Garden 55 almost 2 years ago A recipe built as an SPA that also makes use of the Elm parser
Bolster 8 over 3 years ago An end-to-end encrypted journal app
Conway's Game of Life 0 almost 2 years ago Elm implementation of Conway's Game of Life
Regex Nodes 35 11 months ago A , built with Elm

Awesome Elm / Examples / Games

elm-games 143 over 1 year ago An excellent list of games made in Elm
TheSpace App 3 over 2 years ago A reddit place like DApp with blockchain and canvas(through port) integration in Elm

Awesome Elm / Community and Support

Companies using Elm 468 13 days ago A list of companies using Elm in production
Discourse Elm Discourse instance (official forum)
Reddit Elm board on reddit
IRC Ask questions on elm freenode
Slack Elm slack community

Awesome Elm / Conferences

Elm Conf
Elm Europe
Elm in the spring
Oslo Elm day
Elm Japan
Elm Camp

Awesome Elm / Inspired by Elm

Bolero F# in WebAssembly using Elmish
Bucklescript-TEA 601 5 months ago The Elm Architecture based on OCaml / Reason and
Elchemy 1,146 over 4 years ago Write Elixir code using statically-typed Elm-like syntax
Elmish 839 about 1 month ago Elm-like abstractions for F# apps
Fabulous 1,159 5 days ago F# Functional App Development, using declarative dynamic UI
Iced 24,785 8 days ago A cross-platform GUI library for Rust, inspired by Elm
Redux A predictable state container for JavaScript apps
SwiftUI
MAUI .NET Multi-platform App UI
Oolong An Elm inspired Model-View-Update (MVU) implementation for Kotlin multiplatform

Awesome Elm / Beyond the DOM

iOS 160 about 6 years ago A POC for using Elm 0.18 for native iOS Applications
elmish-wasm 17 almost 7 years ago A POC for compiling elm to Web Assembly
elm-serverless 167 about 5 years ago Run Elm 0.18 on Cloud Functions using the Serverless Frameworks
elm-posix 91 about 3 years ago Write CLI programs using Elm

Awesome Elm / More awesome

awesome 334,113 about 5 hours ago by
awesome-awesomeness 32,097 6 months ago by

Backlinks from these awesome lists:

More related projects: