Starter Elm app that deploys on Netlify

It also works with VSCode devcontainers and on GitPod. Because Step 1 in any new project is a reproducible development environment, and Step 2 is get it in production. Step 3 is implement something.

Copy this code: systemsthinking-dev/poker-in-elm at starter (

This is my accomplishment for the day, so I’m here to share it with you, and add the results I wanted today to web searches in the future.

Elm is a language that compiles to JavaScript. It is for building interactive web apps. It is more fun than JavaScript, and teaches a developer to think in a highly functional style because that’s the only way it works.

Netlify is the easiest place to deploy a static web app.

If you want the simplest possible app that compiles Elm to JavaScript for deployment on Netlify, this is it.

It’s set up for development in VSCode, locally with the remote container extension and collaboratively on GitPod. It includes the VSCode extension for elm.

Sad news: “format on save” does not work for me. The extension gives an error message. Instead, there’s a command for npm run format.

Tricks include:

  • Start with a Node.js container
  • use npm to install Elm, because then Netlify will have it. These dependencies are in package.json
  • also install elm, and elm-format, and elm-test in the Dockerfile because the VSCode extension wanted it.
  • duplicate the devcontainer config in .gitpod.yml because GitPod doesn’t yet read it
  • run both elm init and npm init.
  • I used elm-live to get automatic rebuilds, but not live reload.
  • populate src/Main.elm with any old example. Then use the example HTML from JavaScript Interop in the Elm guide, not the one from Web Apps because that one won’t work with any of the examples I found, and the runtime failure is sad.

How is the development experience? Some of us may find out this afternoon.