Came here just to say this. Pleasantly surprised to see front-end project without a package.json, a bundler, a UI library. Even the templating is inline!
The template being inline is a bug, not a feature in my opinion. You can actually write arbitrary templates into HTML using <script type='text/template'> (or really any type other than 'javascript'), and with a simple function get ~90% of the power of template strings in languages such as ES6 or Python. Writing your templates into JS like that is plain ugly and unmaintainable.
I agree writing templates into JS like that is plain ugly.
Using HTML5 template[1] tag is a better way to go. I used it in a fun project[2] and it works flawlessly in all modern browsers