I have a set of pet projects that I tend to recreate: http://blog.fogus.me/2009/05/29/pet-projects/
It seems a bit large though -- roughly 600 lines of code, average. So that suggests a project of about 200 lines would probably be nearer optimal for learning.