Incorporating new technology is basically most of the work I had to do building my side project from the ground up. I think that, especially to avoid going down a rabbit hole, just like the classic advice “compile early and often”, for new technologies it’s “try stuff early and often”. My first wipeout with my side project was from trying to do the whole stack at once, but I’d also wiped out trying to become an expert on one piece of the system before doing anything with that.
So for me what I find really sticks is to find somewhere in your code where a new technology can make a small piece of the codebase more convenient to work with, then experiment on expanding on that. That was how I brought Flow into my stack, since I could only have Flow typecheck one file at a time with a
// @flow annotation. I also collect my questions as I go; I save the right inch and a half of my notes for either ideas of things to try or questions I have so that I can capture more of what I was thinking, so when I go back to my notes they give me more context