I resisted using Kroger’s ClickList grocery pickup service forever. Having used it each week for the last month, I have to say, it’s fantastic! The $5 fee is well worth the time savings. It’s even cheaper when you consider that there are no impulse purchases.

Making MealMind #4: So far, so good

I’ve used the existing proof of concept app to plan & shop for our family meals for the last two weeks. So far, it’s actually been great. I’ve found a few more bugs/issues that I may try to fix for the next meal planning cycle, but I think the features are pretty usable as-is.

My favorite thing is that I can tell the system that I’ll be having 2 servings of an item per day. For example, keto fat bombs – I like to keep them at the office for snacks between meals. The recipe makes 12 of these at a time. The system is smart enough to see that 2 servings per day x 7 days is 14 servings, so that will require the recipe to be scaled up to 2x.

Based on that information, it can include the proper amount of ingredients on my shopping list so I’ll have 2x the ingredients for this specific recipe. It’s really handy. That also makes it easy to put the same meal on multiple days and the system knows which days are simply leftovers from earlier in the week.

None of this is rocket science at all, but I don’t see many meal planning systems taking this type of information into account. They all want you to schedule the meal and expect you’ll eat every serving that day. For us, we make bigger batches where we have plenty of leftovers. We make a chili that lasts a week in the freezer. It’s about saving time as well as saving money. So far, my experience has been that we’ve saved a ton of money by having a plan. Obviously, you don’t have to have a technology system for this, but it sure helps.

The one big downside that I need to solve for the public release (or at least not long after it) is that you need to input a good amount of data for this to work. You need a list of recipes, you need a list of your family members, the recipes need to specify how many servings they make, the ingredients need to be broken out so they can be parsed into a shopping list, (today) the ingredients have to be named the same so shopping list items get combined properly, etc. It’s just a lot of up-front data entry. Once that’s all in there, you just drag & drop to set up your plan and then one click to get your shopping list.

In the future, I think I can eliminate a lot of that manual work. I’m not sure it’ll totally go away, but the goal is to get people up and running as fast as possible. Lots of ideas to play around with there, but they’ll take a while to implement.

All in all, though, I’m very happy with how it’s working so far. Even if I didn’t take the idea any further, it’s been extremely helpful to my family, so the time spent has been well worth it. I think it can help lots of other families though and I’m excited to see what that looks like.

Making MealMind #3: Proof of Concept

I’ve been working on a proof of concept version of MealMind that I can use myself while I build the “real” version. It’s not really meant to do anything other than let me test out the general features/flow before I have to build out a more polished version with a more traditional architecture.

In this case, I’m still using Angular and ASP.NET Core, but it’s all super quick & dirty. The web UI is terrible, but it lets me get a better feel for what is and isn’t needed much better than a paper prototype or even a higher fidelity design mockup. I realize this approach wouldn’t work for everyone, but it’s faster for me to actually do my rough initial design with “real” code. I think the craziest thing in this proof of concept is that all of the data is stored in a handful of JSON files – no traditional database at all. It makes it surprisingly painless to save & load data, but it certainly isn’t something I’d ever do in a multi-user application. Skipping the database for this test version was definitely the right choice though. I’ve been able to skip so much plumbing code and get right to testing out the general features/flow.

I’ve put maybe 30 hours into the proof of concept at this point. It’s more or less usable for what I need, so I’ll transition to just using it for a few weeks. I may put a couple more hours in here and there if there is another feature I want to test, but I think it’s nearly “done”. I expect to start building some of the “real” app out while I’m testing (things like login, registration, setting up the base project files and tests, etc). I did think about opening it up for a few people to check out as-is, but I think it’s a bit too rough for that. I could clean it up, but I’d rather start the public product with a better technical foundation.

Overall, I’m really happy with this proof of concept. Even though I’ve just started using it, I’ve already found a couple of items that I should address when I rebuild it.