You're in excellent company from Feynman onward.
> The yak shaving was at least 50% about loading the abstractions into my brain fully.
I haven't always made a version of new kind of system I'm trying to understand but I always try to at least find a toy model that I can play with to confirm understanding.
Even if I ended up moving to something not hand written the learning helped me find which tools are actually the tools I want to use. Helps me reason about what's necessary.
I fully believe you can't reason about things unless you have some understanding beyond the minimum needed to reason about them. Otherwise you just have unknown unknowns.
Upside: Only the features you actually need. Likely fewer dependencies. You know exactly what your yak looks like under the fur.
AI is great if you simultaneously guide it and let it guide you. I take my time building a very detailed spec for what I want, then run it through the AI looking for contradictions, misconceptions, edge cases, performance bottlenecks, potential optimizations… anything that might cause problems in the future. Usually these discussions lead to multiple spec-improvement journeys, and that’s where the bulk of learning in a project comes from. Sometimes the AI will flag actual issues, while other times I might need to rein in its proposals — mostly in terms of feature creep and finding non-existing problems. I believe this back-and-forth is the most significant aspect of making the best out of yak shaving.
By the time the spec is “final”, it can be quickly implemented by an AI as I watch, review and test, with practically zero code banging on my part. This way, I get to understand precisely how the project works, make it tailored to my needs, and still not waste time, muscles or even mental bandwidth with menial coding.
So from my perspective you still need to know how to do the thing to catch the errors. Also, are you not missing out on the unknowns?
If an ai does a thing, fair enough. But you haven't tried to work it out yourself, done the wrong thing, to realise why it's done that way.