An Easy Way to Make New Elm Apps

And even if you don't do Elm, try Brunch.

The process of setting up the currently popular (Grunt or Gulp) build tools for front-end web apps takes too long, and involves too much boilerplate code.

Brunch is a great solution. It is fast, easy to set up, and reduces boilerplate.

Also, and more importantly, the combination of writing an web app in 3 different languages (JavaScript+HTML+CSS) is just ... insane. Why do we do this to ourselves every day?

Elm is a programming language that brings the best of functional programming to the web. It offers a promise of no run-time exceptions (Good riddance X is not a method of Undefined), faster rendering than ReactJS, libraries with guarantees, clean syntax, smooth JavaScript interoperability, and a Time-traveling debugger.

Elm has an easy way to get started called StartApp. I recommend trying it out and reading the source.

Brunch and Elm

If you'd like to use Brunch with Elm, I made a Brunch skeleton for StartApp here:

You can simply brunch new gh:ivanoats/elm-brunch-starter APPNAME to try it out. You'll get a working "Hello World" start app and build process, ready to go.

It didn't take long thanks to the great work already done by Mads Flensted-Urech on

It was also inspired by Mike Clark's Building Reactive Web Apps video course at Pragmatic Studio, which I'd highly recommend.

Photo Credit: American Elms in Central Park

Ivan Storck

Web Developer, Teacher, Entrepreneur. Co-founder of Sustainable Websites, Code Fellows, and Aerobatic. Ivan lives in Seattle and enjoys paddling his SUP, spending time with family, and traveling.