Level Editor

The gist: build a tool to construct 2D levels based on tiles.

Ah, yes. The second most favorite thing for game developers to build after engines instead of actually building their game. There are plenty of level editors out there, from Tiled to LDtk. But building your own will teach you a lot about the needs of a tool for constructing a level. And if you build one specifically for your game, you can add all sorts of neat features.

When I was in college, one of my final projects was a level editor for a platformer I made. I had a real blast making the editor. It was controllable via mouse and keyboard but also with the controller. The player could also drop right into the level for quick play-testing. (Think rudimentary Super Mario Maker.)