A curated list of useful Elm tutorials, libraries and software. Inspired by awesome list. Feel free to contribute. 🚀
Switch branches/tags
Nothing to show
Latest commit 00be1f4 Sep 25, 2017 @isRuslan isRuslan Merge pull request #135 from guillaumearm/elm-boilerplate
Add elm-boilerplate to Boilerplates part
Failed to load latest commit information.
.travis.yml [ci] white list linkedin Oct 27, 2016
CONTRIBUTION.md welcome Apr 23, 2015
README.md Add elm-boilerplate to Boilerplates part Sep 24, 2017
tags.md pattern matching Jul 25, 2016


Awesome Elm

A community driven list of useful Elm tutorials, libraries and software.

Inspired by the awesome list thing. Feel free to improve this list.

Awesome Build Status

Table of Contents


Some good apps written in Elm.

  • Official list - Examples from basic to big-project in official website.
  • Builtwithelm - Web site built with elm with list of projects and apps built with Elm.
  • Elm Joust — a two-player fighting game written in Elm.
  • Elmtris — A Tetris game for the web browser written in Elm.
  • Vessel - A "tunnel" game written in Elm!
  • Sliding Puzzle - Configurable sliding puzzle game written in Elm.
  • TodoMVC - Proper implementation of the TodoMVC app.
  • TodoMVC with JSON API - Bare-bones, modular, heavily-documented todo app with JSON API persistence.
  • TodoMVC/Firebase - Fork of TodoMVC demonstrating start-app, The Elm Architecture and Firebase as backend.
  • <elm-ement> – Minimal example of a custom element.
  • Elm Playground - Tiny Elm projects implemented for the sake of learning by example.
  • TodoMVC in Electron - Documented and tested implementation of the Elm TodoMVC app in Electron.
  • Gipher - A Tinder-like application for gifs built with elm and firebase!
  • Elm Architecture in Android - An example Android application implemented with the Elm Architecture using the Kotlin programming language and Anko library.
  • Collection of examples - A collection of examples with advanced techniques for real-world Elm apps.
  • Elm Flatris - A Flatris clone in Elm language v0.18.
  • Elm + Phoenix + Webpack - A minimal Elm + Phoenix setup, using webpack instead of Brunch.
  • Elm SPA Example - Full stack Elm app w/ CRUD operations, Auth, routing, pagination and more. Code / Article
  • Spotify Mapper - Elm app integrated with Spotify Api to search and explore new artists.
  • Elm Hangman - The game of Hangman written in Elm.
  • Pokelmon - Elm project consuming PokéAPI.
  • JWT auth with Django + Elm - JSON Web Token (JWT) authentication using Django (backend) and Elm (frontend).

⬆️ back to top


Learn what this awesome thing is.

⬆️ back to top


Read the essentials. Check the official Elm blog: elm-lang.org/blog

⬆️ back to top


Watch great talks about Elm

⬆️ back to top


Listen to podcasts about Elm

⬆️ back to top


  • QML You can use .js files to create native desktop and phone applications for all platforms with GPU acceleration and easy to code animations.


Useful helpers to build apps.

  • core - Elm Core Libraries.
  • html - Use HTML in Elm, based on the idea of a "virtual DOM".
  • elm-test - A unit testing framework for Elm.
  • elm-router - Easy routing in Elm.
  • http - Make HTTP requests in Elm.
  • elm-http-builder - Build and handle JSON requests more naturally than with low-level elm-http.
  • elm-console - Elm library to read and write to the console in Node.
  • lazy - Lazy Evaluation in Elm.
  • elm-ui - UI Library in Elm.
  • elm-mdl - Material Design component library in Elm. With demo.
  • elmfire - Use Firebase as backend. For higher level API: elmfire-extra.
  • elm-bootstrap - Comprehensive Bootstrap 4 library for Elm. Docs site.

⬆️ back to top


Tools around Elm platform.

  • elm-compiler - Compiler for the Elm programming language.
  • elm-make - A build tool for Elm projects.
  • elm-reactor - Interactive development tool that makes it easy to develop and debug Elm programs.
  • elm-live - A flexible dev server for Elm. Live reload included!
  • elm-repl - A REPL for Elm.
  • elm-package - CLI to share Elm libraries.
  • elm-init - Interactive setup for new Elm projects.
  • elm-new - Generate initial project scaffolding based on a template.
  • elm-format - Automatic Elm code formatter adhering to Elm Style Guide.
  • grunt-elm - Grunt plugin that compiles Elm files to JavaScript.
  • elm-webpack-loader - Webpack loader for the Elm programming language.
  • servelm - A project enabling server-side use of Elm.
  • elm-oracle - Query for information about values in elm source files. Used by most editor plugins.
  • create-elm-app - Create Elm apps with no build configuration.
  • html-to-elm - Convert HTML to Elm Html. Useful when porting an app to Elm.
  • elm-instant - atom package to try your elm code from the editor. Provides a visual REPL and a preview pane.
  • elm-analyse - Linter for the Elm programming language.

⬆️ back to top

Editor plugins

Tools to support Elm in code editors.

⬆️ back to top

Package managers

Place to share Elm libraries.

  • elm-package - Command line tool to share Elm libraries.

⬆️ back to top


Good starting point for a new Elm project.

  • elm-webpack-starter - A simple Webpack setup for writing Elm apps.
  • elm-app-boilerplate - A fully-featured base project for Elm apps: Webpack, HMR, ES6, JS and Elm tests, Semantic UI, sample code and more.
  • elmkit - A lightweight Brunch based setup for web app. Includes Brunch, Hot Module Replacement, Elm, Scss, Elm tests.
  • elm-boilerplate - A simple Makefile able to create Elm app

⬆️ back to top


Everything that you need to see.

  • Elm Search - Search Elm documentation for operators, function signatures, etc.
  • Try Elm - Write and compile elm code online!
  • 404 Elm Street - A fun WebGL game built with Elm.
  • Debug Elm - Debug elm code online.
  • Haskell to Elm - Collection of examples on places where Elm is different to Haskell, targeted at Elm beginners coming from Haskell backgrounds.
  • runelm.io - A place to share and run Elm code.
  • Ellie - The Elm Live Editor
  • Online REPL - The ELM Online REPL

⬆️ back to top


Where to find help.

  • Mailing list - Google discussion group.
  • Reddit - Elm board on reddit.
  • IRC - Ask questions on elm freenode.
  • Slack - Elm slack community.

⬆️ back to top

Who to follow

Follow for fresh updates for free. Use #elmlang or #elm hashtag.

Official Elm Evan Czaplicki Richard Feldman Noah Hall Elm Weekly

⬆️ back to top

More awesome

Discover other amazingly awesome lists.

Awesome Elm is just a part of awesome thing, get more here:

⬆️ back to top



To the extent possible under law, @isRuslan has waived all copyright and related or neighboring rights to this work.