That's brave! I've thought about doing the same thing in Rust, and I saw someone else's (Andrei Karpathy?)'s implementation in... C, too, I think, but not sure about that. I think it's a great project, and you're bound to come out the other end with a ton of valuable knowledge.