I built a programming language. I was inexperienced, winging everything, but I wrote the parser, interpreter, runner and virtual machine. Then I tried to make it as fast as possible. This accelerated my learning more than almost any other project I've worked on, and taught me things about profiling and optimization that I use in my career every day. I hit nearly every aspect of development in one fell swoop, and I look back on that time quite fondly.