User Experience on mobile might not be great yet, but I'm working on it.

Your first time on this page? Allow me to give some explanations.

Awesome Elm

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

Here you can see meta information about this topic like the time we last updated this page, the original creator of the awesome list and a link to the original GitHub repository.

Last Update: Oct. 27, 2021, 12:04 p.m.

Thank you sporto & contributors
View Topic on GitHub:
sporto/awesome-elm

Search for resources by name or description.
Simply type in what you are looking for and the results will be filtered on the fly.

Further filter the resources on this page by type (repository/other resource), number of stars on GitHub and time of last commit in months.

Learn

How to create modular Elm code that scales nicely with your app

4.12K
769
1y 10m
BSD-3-Clause

A set of koans for learning Elm

231
57
1y 11m
MIT

discover the beautiful programming language that makes front-end web apps a joy to build and maintain!

430
34
1y 6m
n/a

An overview of Elm syntax and features

926
45
3y 6m
MIT
66
9
4y 8m
BSD-3-Clause

Compiler for Elm, a functional language for reliable webapps.

6.32K
557
8m
BSD-3-Clause

A showcase of awesome programming language projects and resources written in Elm.

26
1
77d
Unlicense

General information and in-depth guide with examples.

Elm tutorial with exhaustive examples and descriptions.

A gentle introduction to the Elm programming language.

A collection of common patterns in Elm.

Working with the Maybe type, with nicely commented code examples.

Thorough book from The Pragmatic Programmers that covers basics and advanced concepts.

Adaptations for Elm from Ninety-Nine Haskell Problems.

Two tutorials on building web apps with Elm.

a brief overview of Elm as a programming language.

A non-beginner book about the practical aspects of developing Elm applications.

Building web applications in F# following The Elm Architecture from first principles.

Outdated Tutorials and books (Elm 0.18 or earlier)

A take-home application server written in Elm and only Elm

364
15
5y 7m
BSD-3-Clause

Learn how to build reactive web apps using Elm.

Series of articles about fundamentals and advanced topics.

A tutorial on developing single page web applications with Elm.

Short screencasts to teach you the Elm programming language from Erik Person.

A tutorial on building an app in Elm from authentication to calling an API.

Articles

Why Elm?

thoughts on programming

1.41K
91
1y 55d
n/a

How a team built a business-critical web app for a customer using Elm.

This article discusses topics about Elm from a business perspective

Miscellaneous articles

A blog with various topics about Elm.

An article describing the Elm architecture and how to build a simple application

A Bachelor’s thesis about functional programming for frontend development with the focus on Elm.

Outdated articles (Not relevant for current Elm architecture)

A collection of tips for people using Elm from a web-dev background

59
3
5y 9m
BSD-3-Clause

Adventures in Reactive Web Development

152
5
5y 5m
MIT

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.

a realistic look at where Elm is and isn’t superior to other options.

Playlists

Miscellaneous videos

elm-conf 2018 talk about end-to-end type-safety using external schemas like GraphQL.

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.

A talk that gives a broad, high-level introduction to Elm.

A talk about the combination of functional programming with Elm at GOTO Chicago 2016.

ElmLive](https://www.youtube.com/playlist?list=PLDA4wlOlLJvWSYo3KiEa4q4ETkXpTaKlw) - elm live video examples.

A talk about modelling data structures in Elm in a way that makes invalid states unrepresentable

Video tutorials

Walk through all the syntax and basic ideas in Elm as a general programming language.

News

A weekly newsletter about Elm

A free weekly newsletter about Elm featuring hand-picked news, articles, books, events, tools, and libraries.

All Elm news in one place

Podcasts

A podcast about the people in the Elm community.

A deep dive into specific problems to help the Elm community.

Tune in to the tools and techniques in the Elm ecosystem.

Individual Podcast episodes

Testing

Write unit and fuzz tests for Elm code.

193
28
11m
BSD-3-Clause

Test Elm programs

55
14
1y 85d
MIT

Describe the behavior of Elm programs

12
2
115d
MIT

Code generators

OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)

7.78K
2.79K
8m
Apache-2.0
14
1
7m
BSD-3-Clause

Generate TypeScript declaration files for your elm ports!

162
10
1y 7m
BSD-3-Clause

Generate types and converters from JSON, Schema, and GraphQL

6.01K
522
8m
Apache-2.0

Generates Elm types, JSON decoders, JSON encoders and fuzz tests from JSON schema specifications

63
7
8m
MIT

Haskell: Derive Elm types from Haskell types

95
21
1y 5m
n/a

Generate Elm types, encoders, and decoders from Haskell types

44
4
1y 99d
BSD-3-Clause

put some tailwind in your elm

75
9
10m
MIT

Convert HTML to Elm Html. Useful when porting an app to Elm.

Package managers

Command line tool to share Elm libraries

214
70
3y 67d
n/a

Libraries

Search Elm documentation for operators, function signatures, etc.

Boilerplates

🍃 Create Elm apps with zero configuration

1.59K
145
10m
MIT

Command Line Utility for creating an Elm boilerplate project easy to run, build and get deployed

15
1
1y 49d
MIT

⚡ A flexible dev server for Elm. Live reload included.

970
55
1y 119d
MIT

Elm 0.19 webpack 4 starter template to build SPA

102
9
9m
MIT

Example showing hot module reloading for Elm 0.19 and Webpack

9
6
2y 8m
n/a

Learn how Elm, Parcel, Cypress and Netlify work together. Get started with Elm navigation, routes, remote data and decoder.

107
2
1y 98d
MIT

Outdated Boilerplates

Boilerplate for developing Elm apps on Webpack

884
123
3y 12m
n/a

Base project for Elm applications

121
21
3y 9m
MIT

Elm kit is web application boilerplate kit for development. This kit build on Brunch, Node, Sass, Elm-lang. It helps you to start development more productive following best practices.

51
5
1y 12d
MIT

A simple Makefile able to create a new Elm app

3
0
4y 28d
BSD-3-Clause

Initialise scaffolding for a new Elm project

11
0
5y 20d
MIT

Generate a new Elm project from the command line (Elm 0.16+)

81
2
1y 4m
Unlicense

👦 Very very basic elm + webpack 4 template

5
0
3y 3d
n/a

Frameworks

Start an Elm SPA ready to the real world

274
14
1y 92d
n/a

single page apps made easy

Static analysis

A tool that allows you to analyse your Elm code, identify deficiencies and apply best practices.

418
49
1y 5m
MIT

Analyzes Elm projects, to help find mistakes before your users find them.

121
5
8m
BSD-3-Clause

Static site generators

Static site generator that prerenders HTML and hydrates into an Elm client-side app (here is a brief comparison with elmstatic).

Elm-based static site generator.

Showcase generators

Run Elm

Run Elm code from the command line

41
6
3y 68d
MIT

The Elm Live Editor

atom package to try your elm code from the editor. Provides a visual REPL and a preview pane.

Build fast, full-stack web apps in your browser.

A flexible dev server for Elm. Live reload included!

Compile and bundle

Compiler for Elm, a functional language for reliable webapps.

6.32K
557
8m
BSD-3-Clause

Webpack loader for the Elm programming language.

526
91
8m
BSD-3-Clause

Grunt plugin that compiles Elm files to JavaScript.

19
8
4y 9m
BSD-3-Clause

Bundle Elm using Parcel

Other tools

Elm offline documentation previewer

113
8
10m
n/a

elm-format formats Elm source code according to a standard set of rules based on the official Elm Style Guide

1.24K
132
8m
BSD-3-Clause

Install, upgrade and uninstall Elm dependencies

137
4
9m
MIT

Query for information about values in elm source files.

153
14
4y 4m
n/a

👾 JS type systems interportability

218
5
2y 9m
n/a

Write posix programs in Elm using IO monad

23
0
98d
MIT

Literate Visualization: Theory, software and examples

309
21
5m
BSD-3-Clause

Automated dependency update pull requests.

Atom

Elm snippets for Atom

6
2
5y 7m
MIT

Elm code linter for the Atom editor.

Syntax highlighting and autocompletion for the Atom editor.

Autocompletion, go to definition, find usages, rename symbol, etc. for the Atom editor.

A side panel that helps to navigate to any function, type definition or port in your project.

Emacs

Elm mode for emacs

359
61
8m
GPL-3.0

IntelliJ

Elm language support for IntelliJ, WebStorm, PhpStorm and PyCharm (JetBrains)

303
34
8m
MIT

Sublime Text

Elm support for Sublime's LSP plugin

4
0
8m
MIT

Language server implementation for Elm

294
34
8m
MIT

Sublime Text plugin to run elm-format on save

13
2
2y 80d
BSD-3-Clause

Syntax Highlighting for Elm in Sublime Text.

Vim/Neovim

Elm syntax support for vim

0
0
3y 4m
GPL-3.0

Elm plugin for Vim

569
105
1y 34d
BSD-3-Clause

Offline Elm documentation access in your editor

8
0
5y 32d
MIT

emmet for vim: http://emmet.io/

5.42K
396
1y 6d
MIT

Visual Studio Code

Elm Language Server integration

Emmetio abbreviation expander into composition of Elm function with elm-format'er inside.

Other editors

Elm language plugin for Light Table

134
7
4y 7m
MIT

Examples

An example Elm single page application

444
88
2y 10m
n/a

The TodoMVC app written in Elm, nice example for beginners.

1.18K
331
1y 11m
BSD-3-Clause

Modular, heavily-documented Elm todo app with a json rest api

105
18
4y 31d
n/a

TodoMVC+Firebase in Elm+ElmFire

61
12
5y 4m
n/a

Elm meets Electron

86
12
3y 8m
ISC

tinder like app for gifs built with elm and firebase

229
15
5y 5m
n/a

Practical examples in Elm

208
21
2y 8m
n/a

The "Hello world" of Elm + Web Components.

52
2
4y 4m
MIT

An example of the ELM architecture on Android using Kotlin with Anko

58
3
5y 23d
MIT

minimum elm + phoenix setup, with webpack

55
5
3y 113d
GPL-3.0

An app built with Elm to explore new artists using the Spotify api.

54
3
1y 8m
MIT

Elm project consuming PokéAPI

14
1
2y 75d
MIT

Chrome extension in elm that shows the latest currency bitcoins from Brazilian exchanges

3
1
4y 18d
n/a

A basic UI-clone of Instagram using Elm

17
3
10m
MIT

Kanban board built with Elm

292
26
2y 6m
BSD-2-Clause

Hacker News as a PWA built with Elm

1
4
4y 7d
GPL-3.0

A tool for building interactive fiction style stories in Elm.

109
9
8m
n/a

Electronic Cookbook

34
5
1y 23d
n/a

The secure, private journal.

1
0
1y 12d
n/a

Web site built with elm with list of projects and apps built with Elm.

Full stack Elm app w/ CRUD operations, Auth, routing, pagination and more. Code / Article

Tiny Elm projects implemented for the sake of learning by example.

Pure SPA (with routing) exploring various aspects of Elm.

Games

All Elm Games (hopefully)

92
18
8m
n/a

Community and Support

🌲 A list of companies using Elm in production.

364
79
1y 34d
n/a

Elm Discourse instance (official forum).

Elm board on reddit.

IRC

Ask questions on elm freenode.

Elm slack community.

Conferences

Inspired by Elm

TEA for Bucklescript

581
38
1y 6m
n/a

Write Elixir code using statically-typed Elm-like syntax (compatible with Elm tooling)

1.08K
25
1y 7m
MIT

Elm-like abstractions for F# apps

560
68
1y 24d
n/a

F# Functional App Development, using declarative dynamic UI

782
112
8m
n/a

A cross-platform GUI library for Rust, inspired by Elm

8.6K
356
8m
MIT

F# in WebAssembly using Elmish

A predictable state container for JavaScript apps.

Beyond the DOM

Bringing the wonders of Elm to the iOS platform

155
7
3y 9m
BSD-3-Clause

Experiment to compile something Elm-ish to Wasm

16
0
3y 8m
n/a

Maintained at: https://github.com/the-sett/elm-serverless

168
18
2y 54d
MIT

Write posix programs in Elm using IO monad

23
0
98d
MIT

Who to follow