Skip to main content


In theory, state management should be something simple to deal with. You declare a variable and assign it a value that we expect to change during the life of our application.

In practice though, if we think about it, most of the issues our applications have as they grow are somehow related to bad state managementโ€”and this is the main reason why superstate was born.

To me, the author of superstate, it feels like the current solutions have gaps. Sometimes they relate to overly complex solutions for small, simple problems; sometimes they relate to too much unnecessary boilerplate and verbosity.

What I dislike the most though is the excess of complicated words: context, reducer, store, selector, derived state, state machines, etc.

It's too much pressure. And pressure leads to lack of motivation, that leads to bad code, that leads to unsustainable codebase. A domino effect.

superstate however aims to be accessible. No boilerplate nor complicated words. Designed to be adored by beginners and to don't put veterans down after a good, deserved vacation time.

superstate is an attempt to fill these mentioned gaps; it features an elegant and sleek API, and is just enough opinionated to make you as productive as you can be.

Perhaps you should give it a try. :)