I suggest writing it first as a headless command-line REPL so that you don’t need to make decisions about view code and browser packaging now. @jxxcarlson posted a great example of a REPL harness on this forum in April. (You might also want to explore how the recently-released elm-spa v5 builds the great user interface of its interactive CLI when starting a new project. It’s written in Elm.)
There are a lot of great ElmConf and ElmConf Europe talks on YouTube that relate to game programming, including this one by Jeff Schomay that you can look to for inspiration.