High school integrated test
In my last year of high school, I partnered with a classmate to build Octan as our integrated test. It was the first time I treated a piece of software as a stack of systems instead of a homework assignment.

Game + Engine, Web server
A rhythm game, a custom Java engine, and a custom web server, built as my high school integrated test.
In my last year of high school, I partnered with a classmate to build Octan as our integrated test. It was the first time I treated a piece of software as a stack of systems instead of a homework assignment.
Octan consisted of three separate parts. Octan, the game itself, Divergence, the game engine it was running on, and OctanWeb, the web server powering its website. We didn't need to build every component ourselves, but we decided that this path would give us maximal control and possibilities for learning.
After our high school graduation, my classmate and I decided to continue developing the concept, swapping out Divergence for the more powerful Graphite engine, and upgrading OctanWeb from v2 to v3. However, a couple months later, my classmate lost interest, and thus the project came to an abrupt end.
The lesson learned from Octan is twofold. First of all, building everything from scratch is a solid way to learn more about a certain topic. But on the other hand, there's a reason we have libraries for everything. Doing everything yourself is unsustainable. At a small scale, it might be feasible, but you'll run into issues sooner rather than later.