I usually do short projects (usually 4 months or less) so that I plenty of time to explore the subject while still short enough to avoid procrastinating.
Once I complete a project, I usually open-source it and write a blog post so I can have something to show it to somebody like a prospective employer. The most recent project I completed is a ray tracer made completely from scratch ->