A while back I was having a work discussion and had a strong intuition we were going further than we needed to resolve a point of tension. I was having trouble articulating why I felt that way, but something was telling me I shouldn’t let this concern go unspoken. Desperately grasping for any example or metaphor, I brought up a recent frustration using meal planning applications.
It connected well enough with the group that I fleshed out an early prototype of the idea for fun. I know... Party animal.
What I didn’t expect was getting asked to demo the prototype outside the group to help explain the concept I was trying to communicate. And again, randomly, to another group a few weeks later. It was important to demonstrate that adding too much structure can introduce whole new activities and efforts. And sometimes, that new work defeats the purpose of the original task.
I Hate Meal Planning Apps
I make my kids breakfast every day. I don’t take it as serious as I should. I don’t want to make weekly plans. I don’t want to build recipe libraries. I don’t want to integrate with shopping lists.
The only thing I desperately want is to not peer into the infinite option abyss every morning. If there’s one thing that makes me want to give up and go back to bed, it is this.
The other thing I mildly want is to involve my kids in the process of making decisions together. Helping develop their sense of agency, self-advocacy, and all that boring grown up nonsense.
After trying eighteen hundred million thousand (how my kids say big numbers) meal planning applications and websites, have I found any that help me do that?
Negative.
Introducing: Unnamed Meal Thing™
Early on, I came up with randomly chosen sets of meal themes. The randomization controls against meal themes repeating to different degrees depending on how many are available. For example, if you have more than six meal themes, it prevents the last two days from being included in the next day’s random pick.
That’s it. That’s the whole idea.
Eggs? In this economy?
Notice how the entire application — no wait, the website! — is only one screen. This is important. It will come up later. How important? Enough to fill this entire screen with a hard-g gif.
You have one job. Just the one.
Themes of Meals, Not Meals
When I say eggs, what I intend to make is scrambled eggs, omelettes, egg sandwiches, or anything else my imagination can muster using eggs as the main ingredient. This narrows infinity down to less than infinity.
This is a huge win.
The options that are left are enough to have a fun conversation with my kids about what they want. We can debate and discuss and share our preferences. If one wants scrambled eggs and the other wants an omelette, it’s not different enough to cause a meltdown.
Another huge win.
Plus, it allows me to participate in the negotiations depending on what other ingredients are available. What ingredients I want to get rid of. What ingredients haven’t been used recently in other meals. What ingredients are going to be used soon in future meals.
Recent Past and Near Future
I want to hold a few days in memory to help modify today’s meal. If I made oatmeal with fruit yesterday, I might not want to serve fruit with today’s meal. If I can remember the oatmeal, I can remember the fruit.
When I occasionally forget, those little vultures can eat fruit again.
I don’t need to document every detail. I need the theme of the last two or three days. More days from time to time, but rarely.
Take a quick peek backwards and forwards
The same goes for the future. If I glance ahead a few days I can imagine sides I want to use for particular meals and modify today’s meal. A day or two is enough. Occasionally more, but rarely.
Graceful Improvisation is Key
Occasionally, I open the fridge and I don’t have enough eggs. Instead of peering into the infinite option abyss, I hit “new plan” and have it randomly pick a new meal theme. I can see how it relates to the last few days and next few days. If I have the main ingredients, I start chatting with the kids.
I’ve controlled nearly all the downsides without giving myself more work. I’ve avoided the infinite option abyss without adding more to my to-do list. I’ve won at breakfast. I can’t remember the last time I had a full-blown, both-kid breakfast meltdown.
Plus, my kids are awesome. That always helps.
Testing on Myself
At the time of writing about this project, I’ve hacked a combination of automations and tasks to generate a similar experience. It’s janky and experienced through my to-do list. I don’t get to quickly “peek” into the past or future and have to manually force a “new plan” to happen.
It’s clumsy, but it’s working. Surprisingly well.
After two-ish months, and I can’t imagine going back to a system that encourages recipes and tracking grocery lists. I can’t imagine going back to the infinite option abyss, either. I found the breakfast “Goldilocks zone” for me and my family.
Too Much is Never Enough
When we provide too much structure, we can inadvertently introduce more work — destroying the initial value of the product. More work that has less and less to do with the task at hand and more and more to do with environment around the task. It makes the “option pool” around the product appear larger and more lucrative.
But wait!
Is it helping me manage the meals I make for my kids? Or is it managing my entire food ecosystem? There’s no right answer — it all depends. My one request is that it's intentional and I'm told about it in advance.
Cannibalizing existing value to fund larger potential value is a hell of a drug.
Which reminds me of a song that now feels relevant in far too many software development conversations. It’s from one of my favorite albums. Too Much Is Never Enough by Bob Moses.
You lose it all before you feel the blame — The taste of medicine won't take away — And claiming innocence don't heal the pain — It's not enough to live a life in vain — And so I go and do it all again
Too much, I'm used up — Why can't I see — That too much never enough — It's never enough for me
Somewhat Related
If you’re wondering what browser I’m using in mocked screenshots, check out Quiche Browser. I have customized it to trigger showing tabs on the left, show the URL in the middle, and all other menu options are triggered from the right. It’s rad!
The website font is Jet Brains Mono (I’m on a mono exploration kick). The background text is Fit by David Jonathan Ross (looking for any excuse to use it). It’s my side project — I get to make weird, but cool, choices.
Hold on! What happens with special occasions that don’t fit the plan? Or lunch and dinner? If you don’t like purple?
Sorry, we’re all out of time. Thanks for stopping by!
≈