Tact js / 2011-Present
TactJS is every JS dev's first major side project. It's an object-oriented shim (because prototypal inheritance is weird) with some shiny syntactic sugar and some useful features that make workflow a bit easier to manage.
The key feature of TactJS is the markup-driven behavior system. Just by including the TactJS library on your page, you could start writing behaviors with java-like folder-based namespacing, and reference those namespaced scripts via "data-" attributes (or your own arbitrary prefix, data was still too new to standardize on). Scripts referenced this way were necessarily closures and would be instantiated against the context of the element they were referenced on with "data-". Since you can reference multiple scripts this way, each providing their own "behavior" mechanics to the element they're added to, you can combine behaviors to get emergent effects. Communication between behaviors was done via jQuery selectors and messages, preventing any dependent coupling from cropping up and breaking the site with JS errors. The theme of the project was extremely high cohesion along with fanatical avoidance of coupling.
In theory it all sounds pretty great. In practice, it's difficult to get a development team fully committed to using it because of the single point of failure. Tom's since moved on, and I'm the sole expert on the framework. Bus Factor is a real concern. Still, it's a fun little project. I hardly have time to keep up with it anymore though so it's falling by the wayside of late. There's a github repo for the TactJS site and a NuGet package that includes a demonstration page for .NET MVC projects.