MotifJS

A UI framework for JavaScript and TypeScript: components written as classes, functions or options objects, fine-grained reactivity without a virtual DOM, routing and dependency injection.

Not public yet. The first release is being prepared.

github.com/motifjsdev

Journey

  1. Fighting the framework

    We were building metadata-driven systems, and the frameworks we used kept getting in our way. We spent more time configuring them and bending them to fit than on the apps we actually wanted to build.

  2. A framework of our own

    So in 2018 we decided to write our own. A small one, just for our internal systems. We called it movico (mo-vi-co, from model, view and controller). It never went to npm, we only passed it around locally.

  3. A new name

    In 2022 movico became movijs and we put it on npm. We used it in our own systems for years and always wanted to release it under MIT, but honestly there was never enough time for docs or for turning it into a real public project. The last version, 1.4.1, came out in December 2024 and that was it.

  4. It grew

    It started simple and kept growing. Using it was easy and honestly fun, we reached for it every day. The code behind it was another story though. It got messy, things were all over the place and it became hard to maintain. So we started cleaning it up.

  5. Opening it up

    While cleaning up we kept thinking: if we like it this much, maybe other developers will too. So we decided to open it up under a new name, MotifJS, and now we work on it full time. That means docs, examples, cleaner code, and figuring out what goes in the core and what should be a separate package. It is taking a while, and we are still on it.