In 2011 interface designer Bret Victor wrote an article about reactive documents - documents that allow a reader to interact with the content, explain principles in context and within the broader setting of a bigger system that the principles are part of. The article also coined the term Explorable Explanations or Explainers for short. Since then a whole lot of amazing Explainers have seen the light of day, showing the potential of web platform as a great medium for the concept of reactive documents.
I've been intrigued by the concepts and examples since I first learned about it. I've been meaning to give a try on creating my own Explainer but it turns out it's not that easy to create one. Besides understanding the concepts you want to explain, you need to make the abstract concepts concrete - usually through a visual representation - and have good programming skills to design it for the web platform. Since there is no specialized technology for creating such documents, you're pretty much left to your own devices to figure it out.
The Git Explainer is my first try for an Explainer. Even though it's quite modest and implements only the first basic git commands, the logic for that counts for about 1700 lines of code. It's built with Javascript, React, Redux and d3.