I spend time most weekends programming, typically in the evenings over a craft beer at my favorite pub. During these sessions I occasionally perform pressing tasks for my job but most often I use the time to explore and further my craft. Sometimes I watch videos, others I read but mostly I write code.
During these exploratory development sessions I like to work with or towards a fully functional application. Hello world style apps are useful for demonstrating components and features but you never truly understand such components until you integrate them into a more full-featured application. A year ago I started the latest of of my exploratory development applications, the fourth in ten years. The new project I named RecipeBox.
RecipeBox was conceived as a recipe storage application for the cloud. My wife expressed a need for a simple way to store her recipes and have them readily available from anywhere. Such an application appealed to me because it had tight scope yet was complex enough to provide interesting design challenges.
For the last year I've worked almost exclusively on RecipeBox during my sessions. In that time I've exceeded all my initial design goals, gained practical experience with a number of frameworks, built a good reference code-base and enjoyed my time doing it all. I finally published RecipeBox. It's the first ever of my exploratory development applications I've made publicly available.