Every few months I get an idea for a neat little application I'd like to have. If somebody hasn't built it yet, I usually take a crack at it in my spare time.
This time around, I found I need a tool to help me plan a weekly menu. I figured it would be cool to blog about it, so here you go. I'll try to describe the steps I move through from start to finish.
The Problem
Being busy and working a lot, I tend to eat a lot of junk. However, cooking is tough. There's the problem of figuring out what I want to eat, the shopping, preparation and finally cooking before I get to the good part, the eating. I want to make that easier. I find the planning part the most time consuming and difficult, so that's where I am focusing.
The Idea
So, I came up with the idea for a little web app where I insert all of my recipe ideas and drag them onto a menu. Hit the print button and voila, I've got my menu and a grocery list. It really should be a 5 or 10 minute job a week, that's it.
The Potential
Here's nugget #1, always answer the Why? question. Why are you spending time doing X?
For this recipe/meal planning app, I have several reasons. I want to save time and time is money. I want to eat healthier and planning healthy meals is tough for me. I want to make my grocery shopping more efficient, saving money there as well. I want to better utilize the food I do buy because it tends to spoil when my menu is thrown out the window on 50 cent wings nite.
So, where to start?
This is the part that is hard to explain. How do you go from an idea to a vision? I have no idea, but I'll try to explain my process. Whenever I have an idea, I try to get a vague idea of whether it is worth pursuing. Ideally, I go through the steps I just wrote about. More often then not, I just guess.
After that, I start working on what I want the end product to do. This is where my imagination comes into play. While I'm vision-ing, I always work on a different task. This is very deliberate. I've found that the conscious part of my brain is more management then talent and my sub-conscious is more talent then management. If I focus on another task, my sub-conscious usually comes through after a few days. This can't be forced, it just happens.
I also don't sweat the details at this point. You can't. If you try to plan out every nook and cranny when you are vision-ing, you'll never get off the ground. Think of the vision as the artists chalk sketch, beautiful but fuzzy.
Start Building
Once I have a vision, I start the blueprint. This is where the details become important.
When it comes to a web app, there's two general schools of thought. Bottom up and top down. Translated, data structure or user interface design. I think they're both good, so I do both.
Data Design
I don't know why I start with the data design, I could just as easily start with the UI. This is just habit I guess.
I like to design my databases in Microsoft Visio. There's no open-source software that comes close to the polish of Visio, I've looked. I generally prepare the diagram, then start writing my SQL files. I've attached the diagram I have created for the Recipe/Meal Planner project.
Data design is something that is an art in my opinion. You've got to understand how you will retrieve the data, you've got to understand efficiencies in how to store the data (Normalization, bane of my existence!), and the intricacies of the database platform you'll be using.
I generally work with MySQL 5. It's part of the LAMP stack and I'm comfortable with it. I use Postgres as well, but it's a bit overkill for such a simple app.
Closing
I'm going to go through why I made the data design decisions I did in my next article, look for that soon.
| Attachment | Size |
|---|---|
| RecipeORM.png | 18.98 KB |


Since 2001, Google has acquired several small start-up companies, often consisting of innovative teams and products. One of the earlier companies that Google bought was Pyra Labs.
I would use the recipe app. Theres a couple out there, but I want one with big beatiful pictures of the food, and one that helps pick out the healthy stuff.
You could market the app to freshdirec.com they make shopping easy here in NYC. Worth a look.
Post new comment