Came here to type something similar and saw this comment. +1
Just repeat this until you understand a language's unique ways of implementing things, and understand why a language has those choices compared to others. I always pick one of these experiments to learn a new language with/out LLM support. 1. Ray tracing 2. Gameboy Emulator 3. Expression evaluation (JSONLogic or Regex)
These are super easy to implement in 100s of lines of code, however if you want to optimize or perfect the implementation, it takes forever and you need to know a language's nuances to get it better. Focus on performance tuning these implementations and see how far you can go.