Announcing Maxim

tl;dr – Try Maxim by cloning react-black-triangle, it’ll only take two minutes!

One recurring theme lately is that a number of people have found themselves quite attached to flux‘s core idea of unidirectional data flow, while at the same time Facebook’s implementation of it hasn’t really won people’s hearts (and neither have many of the other same-thing-but-not-the-same-thing implementations).

I too have found myself in this position. I’ve been craving something which like flux is easy-to-reason about, but like rails is elegant and has enough well-defined conventions to prevent me from spending a stupid amount of time stuck in decision paralysis.

My first attempt at fixing this was producing a simple react starter kit with a custom Flux implementation, react-black-triangle. However, one thing lead to another, and the result was Maxim.


Maxim is a tool to provide structure to your browser-based applications. It does this through a set of code and conventions which help you fashion apps with unidirectional data flow, and without decision paralysis. It is unashamedly opinionated.

Maxim is small – five files, currently totalling 143 lines. It can be this small as it leaves the heavy lifting to RxJS, as opposed to Flux, which is small because it leaves the heavy lifting to you.

Maxim apps start as clones of the Maxim starter kit – which is react-black-triangle (mentioned above). Why not maxim-starter-kit? Well, Maxim was extracted from react-black-triangle after the fact. I hope to have a more suitable starter kit up soon, but this still gets you up and running with an ES6 build system, a directory structure, a router, and a cool spinning black triangle – enough to let you get productive straight away, or enough for you to chew on for further study. Choose your own adventure!

It is still early days, so I’d hugely appreciate any feedback! What else would you like to see in the README? What kind of examples would you like to see? How can Maxim be made simpler? Looking forward to reading your comments!

I will send you useful articles, cheatsheets and code.

I won't send you useless inbox filler. No spam, ever.
Unsubscribe at any time.

Leave a Reply

Your email address will not be published.