I think it was Riot.js 1.0 which got me interested in OSS world: muut.com/blog/technology/riotjs-the-1kb-mvp-frame…
Riot was the first view library that I understood 100% how it works. When 2.0 came out, I contributed by writing a diffing function for lists, which it lacked completely.
Later I created my own little view library called FRZR (now called RE:DOM). The key point is still to have a view library which you can easily understand 100% how it works under the hood: youtu.be/0nh2EK1xveg