I've been working on a software project recently called http://www.gears.academy/ and the idea is to accumulate all the knowledge I can about how gears work, how they're designed, and how you can 3D print them.
In order to help convey the ideas, I wanted to make an interactive gear viewer to allow people the ability to tweak variables and see how it impacts the final shape of the gear. So far it's coming along great! If anyone has ideas for improvement, suggestions about what kind of content might be helpful, or wants to contribute - all the code is on github. https://github.com/SharpCoder/gear-academy