One trouble with being a consultant is getting time and energy for your own projects.

My wife and I spent a busy week or so a couple of years ago building a healthy cooking web portal. Since then, with just a few changes, the site has been running on auto-pilot. I wrote the original implementation in Java+JSPs, and now my wife and I are talking about investing more time into what is for us a fun hobby (we are both extremely good cooks).

I need to decide how to proceed: I have worked through several Seaside tutorials in the last few years (good stuff), and I have done several Ruby on Rails web applications for consulting customers in the last 18 months, so I had seriously considered moving off of the Java platform. In the end, assuming that I have time for a version 2 of our recipes web portal, I will probably stick with Java. I would like to upgrade to using Struts 2 and Hibernate with Lucene search. I have, just for fun, been improving my Javascript skills, so version 2 will be AJAX enabled.

Anyway, Carol and I have been talking enough about the recipes web portal that I think that we will start work on it again. We only have a few hundred registered users, but we get a fair number of visitors who do not create a free login, and an average of about 5 page views per site visit, so people hang around. I originally used the USDA nutrition database to estimate nutrition data for recipes - I took that off because the data seemed inaccurate (USDA often sites multiple studies that vary a lot!) However, enough people have asked for nutritional information that I will probably add it back in with a warning to accept nutrient data per recipe as estimated information. One thing that I implemented in the original site that people seldom use is a free custom database of "food ingredients on hand" - with a nice option to only show search results for recipes that you have the ingredients for. A good lesson here: sometimes users will ignore features that developers think are great! I might remove that entire module of code and web UI stuff - if users don't use something, toss it out.