This reminds me of the value of reimplementing stuff yourself even if "better" solutions exist. Yeah he could've just used wireguard but then he wouldnt understand how tor actually works under the hood.
I did something similar years ago - wrote my own HTTP server from scratch in C instead of just using nginx. Was it practical? No. Did I learn more about sockets, parsing, concurrency than I ever would have from just reading docs? Absolutely.
Theres something about actually writing the code that makes the knowledge stick in a way that just using a library never does. Plus you end up with this deep intuition for when things go wrong because youve seen all the edge cases firsthand.
The "broke college student" framing is funny but I think its actually a feature not a bug. Constraints force creativity and deeper understanding.