Buffer Management for Meal Prepping
This post describes an attempt to apply theory practically (praxis) to solve a silly little problem.
My wife and I are getting serious about cutting our restaurant spending, so we have been cooking large batches of food to store and eat throughout the week. Cooking in large batches like this is a practice known as meal prepping, and we’ve had enormous success in our first few months with it (we spend more in groceries, but we save much more overall). We are very busy and don’t particularly enjoy cooking, so we often go a little wild by cooking and freezing a few weeks of meals at a time.
For a while, it’s absolute bliss; we just microwave food in a couple minutes each meal and go about our merry way. When we run out, however, it’s always a bit of a scramble. We usually end up eating at restaurants again until we can find the time to plan and cook. To solve this problem, I realized we can use buffer management concepts from the Theory of Constraints.
We know the consumption of food is a critical activity — we don’t much like starving — that requires some inventory to always be available (i.e., food in the freezer). Using ToC concepts, we can designate part of the inventory as a buffer in order to ensure that food is always available. As long as the buffer remains intact to some degree, the inventory never hits zero. We just need to know when the initial threshold into the buffer is crossed so we can find the time to cook more food.
To put these ideas into practice, we could start by improving the visibility of the inventory (perhaps with a simple chart like that pictured above), making sure to mark the current level, the buffer, and the corresponding replenishment threshold. In my head, a process is developing… We’ll need to check the freezer inventory regularly (perhaps whenever we take food out of it), update the chart, and determine if the the threshold has been crossed. If the threshold has been crossed, then we’ll need to make more food.
Thinking about it a little bit more, I realize this approach actually seems… annoying. Even if I develop a nice way to visualize the inventory, there’s no way I will care enough — when I’m hungry, of all times — to keep it updated. I’m sure my wife will feel the same way. We’ll follow this system for a week and then drop it the moment things get busy. The design needs to be more accommodating.
Also, I think I am making everything more complicated than it needs to be; it’s time to question some assumptions. Do I really need to visualize inventory? Why isn’t it good enough to open the freezer and look? Why can’t I know from just one glance? I demand immediate gratification!
Instead of keeping track of exact inventory and visualizing it, I really just need to develop a simple heuristic. The only thing I need to know is, “Has the replenishment threshold been crossed, yes or no?”
As it turns out, the heuristic isn’t all that hard to develop: I know one shelf in the freezer can hold 6 small containers, and about 3 containers will get us through a single day. That’s 2 days per shelf, so if we want a buffer of 3 days, then we need 1.5 shelves of food for the buffer to remain intact. I can certainly determine whether we have ~1.5 shelves of food at-a-glance!
This process feels much more intuitive, cuts out all the unnecessary busywork, and doesn’t require any disruptive change.
We still need to figure out how to signal that the threshold has been crossed, though. The nerd in me wants to program an Amazon Dash button + Lambda to send an email or calendar reminder, but I think that’s just looking for an excuse to play with cool tech. Having a simple, physical, visible reminder is probably better, so both of us can know the status just by walking by. What about a sign of some sort?
As it turns out, this is a solved problem. I can order a cheap two-sided magnet, originally designed to indicate stocking status (FULL or EMPTY). I can just throw that on the freezer!
The problem is solved with application of theory (praxis), a heuristic, and a magnet. Despite my best efforts, I managed to not reinvent the wheel!