One recommendation I don't hear often is build something that will stick with you. Keeping with the apprenticeship/tooling idea, I would build something that you will use over time.
You will be forced to keep backwards compatibility in mind, you will see what makes a process have friction, you will see odd bugs from a random edge case you will have to fix or discover. Treat yourself as the customer and build a tool you can use to help yourself out.
It is almost recursive in building tools to help yourself learn, and using those tools to learn.