Ema is a next-gen library for building jamstack-style static sites in Haskell. Ema sites are change-aware; in addition to good ol’ static site generation, Ema provides a live server supporting fast hot-reload in the browser, on code or data change.
The ultimate purpose of ema is to facilitate creating with ease your own neuron 1 , or just about any app that creates a browser view of arbitrarily changing data (on disk, database, or whatever). In Ema apps, data is edited via traditional mechanisms (e.g., text editor), and its view is rendered as a delightful web page, thus economically providing a read-only view of your data on desktop & mobile. A classic static site is just one type of such kind of apps.