I Built Linux from Scratch
If you need something more practical, but still challenging, try Slackware.Use the advanced install feature and only select the packages you need. Build the other software yourself. You can choose your own difficulty this way. You can also follow the distro's way of packaging up software (build scripts), or build it the software developer's way. The main advantages of building software yourself are:1. You are a developer who wants to customize the software.2. You want to practice.3. You want to contribute to a project.4. You want to have a better understanding of what the code does.Slackware 15 is a modern platform to build upon.