tiny-redux: Writing Redux from scratch for learning

When I encounter a new piece of technology I always try to answer these questions first:

What problem does this solve? Why would I need this? How would this fit into my existing stack? What’s the simplest way for me to try this out and get familiar with it?

If you’ve used something similar and have a reference point, it’s often much simpler to grasp where new piece fits into your ecosystem. I’ve used Vue and Angular, so I roughly know what I should expect from React.

Another really fun way to learn something more in depth is to try to build it from scratch. You can really learn a lot by taking a piece of software (or hardware) and attempt to re-build it by using the most basic materials and principles. After you‘re done you can compare approaches. So good!

Early this year I published a Pluralsight course on Redux. To grasp redux better I re-wrote redux from scratch. I learned a ton about how redux internals work. The primary goals were really simple code and a lot of comments. I didn’t care about edge cases or perf. The result is tiny-redux.


This is a simplified redux implementation for learning purposes. It should work with a normal redux app. It’s missing perf considerations and helpful warnings. Don’t use this in prod. Enjoy.

tiny-redux: A simplified, not-for-production from-scratch version of redux: https://github.com/jamischarles/tiny-redux/blob/master/tiny-redux.js