Does Irmin fit for typical web-projects such as blogs, stores, etc?
Canopy is an experimental project to make a blog with MirageOS which uses Irmin as a KV-store (and Irmin is a KV-store). Behind the idea of Irmin with Git, we ensure the integrity of your values (merkle-tree) and keep all modifications as a Git repository.
For a blog, indeed, it’s a good idea (because we already have this kind of idea with Jekyll and GitHub) and Git optimize the weight of your history.
Then, with MirageOS, we can have lot of more ideas when we can imagine a replication system of your database and dispatch the charge on a multitude unikernels. You can, however, figure about your history instead if you want. Finally, the possibilities of Irmin is difficult to describe but two words seems to be good: integrity and KV-store.
Well in the case for web apps, you can design your app model as a bunch of types in irmin, so yeah you can make a website with Irmin, but honestly this isn’t where the beauty lies, it’s design space is kind of akin to leveldb or sqllite meets types meets git meets riak dts, it’s more of a tool to create new kinds of distributed data stores, and even if you don’t like it’s synch methods, you can switch it out to different kinds of replication methods, and ensure it’s consistent using the 3 way merge fns.