By this I mean what project should everyone build not because its useful or new, but because the process of building it forces you to learn something new. Some examples I've heard are your own programming language or a simple implementation of a database.