Refigurator – The Concept

My Refigurator schema from 2007

I’ve had this idea for a while, but I’m sick of carrying it around. It’s a good idea, but I don’t have the time and I really want it to happen. It should happen.

What It Does

I have a college degree but I can’t figure out what I can make for dinner without a trip to the store.

Refigurator helps answer one simple question: What should I eat tonight?

Instead of thinking about individual ingredients, Refigurator thinks about recipes.

Based on what’s in the fridge already, Refigurator calculates what you can make.

Or, you say what you want to eat, and Refigurator decides what you need to buy.

But we can do more than that with the data we’ll end up collecting:

  • See how often you throw out food that spoiled before you could finish it. Should you buy a smaller package next time?
  • See recipes that will use up the food in your fridge that’s about to spoil
  • See recipes that slightly differ from something that you like, through the addition or subtraction of a few ingredients. Is there a vegetarian version of your favorite lasagne?
  • See recipes that will help you use up a specific set of ingredients, like that bag of frozen corn getting freezer burned and the half-empty can of beans in the fridge.
  • See how often you buy food that your doctor has told you to cut down on. Are you really eating less bacon than before?
  • Choose healthier ingredients for a recipe (or cheaper, or higher fat, or lower carb, etc)

How It Works

Step 1: Identification

A barcode and some PLUs

Before we can do anything fancy, we need to unify the identification of ingredients. Fortunately, supermarket chains have gone to great lengths to do this already. I can take advantage of UPC, PLU, SKU, RFID, and any other codes they come up with, and build a master list of items.

Step 2: Equivalence

Different size milk cartons

Next, we have to unify the items. For example, 2% milk is sold by many dairies (Hood, Horizon, and Oakhurst are common brands in the northeast US) and in many sizes (half-pint, pint, quart, half gallon, gallon). No recipe cares what size that you buy, so we abstract away the differences in packaging to arrive at an equivalence class called simply “2% milk”.

Step 3: Turn Recipes Into Ingredient Lists

Pound Cake!

This already exists and it’s called a cookbook. Very simply, a recipe is a list of the equivalence classes required to make a particular food item (e.g., chocolate cake is made of eggs, milk, and wheat).

Step 4: Substitution – Where Things Get Interesting

Good substitute, if you don’t want eggs over easy

This is where we take recipes to the next level. It’s an optional step, but a very good one.

Different recipes allow different substitutions. For example: if I’m making alfredo sauce but have no heavy cream, I can get away with using light cream. But, if I’m making whipped cream then light cream is useless! As another example, it’s possible to bread chicken without an egg, but try making eggs bennedict without one!

The subsititution system is what helps Refigurator decide how best to use the ingredients at your disposal for cooking. It will lay out your choices for you: cook a basic meal for which you have every ingredient, an extravagant meal made by one or 2 substitutions, or an all out feast that requires a trip to the store.

This Seems Like A Lot of Work

Little by little

What I’ve outlined above is non-trivial. You could build your own database of scanned items, or you could license one (depending on whether you have more of time or money). Building the equivalence classes would also take a bit of time, and it might be tedious to enter in a recipe for a smoothie – noting that crushed pineapple, chunked pineapple, sliced pineapple, and whole pineapple are all equally good if they’re just going to be blended.

Another hurdle is usability: users are not going to stand in the kitchen with a barcode reader to keep their digitized inventory up to date – certainly not between lugging all the bags home and cooking a delicious meal.


I don’t know what this is, but it looks useful

Let’s put aside the problem of scanning everything that goes into the fridge; I’ll get to that in a minute.

The effort involved in marking things as “empty” is much more spread out — and you could use an iphone app to scan items before you throw them out.

Knowing the exact moment that you throw out an item adds some value to our data that might attract a powerful ally: the supermarket chains. If we have the supermarkets on board, we can have them update our in-fridge inventory when they scan our items at checkout!


Why A Supermarket Might Agree to Help

So many choices… If only we could narrow our field of search by what we actually wanted to cook!

The supermarket might find a lot of value in a Refigurator partnership, because it would given them a huge body of statistics that has never existed before:

  • how people are actually using the food that they buy
  • how long items last in an individual’s home – bonus points for indicating whether the items were being tossed as a result of spoilage (instead of emptiness)
  • what people are interested in buying (exotic ingredients) that may not be available in the store

Paid placement? Who does that?

There is also a lot of room for a supermarket to derive value from the database itself. Consider that when an item is needed for a recipe, it must be picked from an equivalence class that may have been picked from a list of substitutions. This can be monetized:

  • sell placement or ranking within an equivalence class (whose brand of milk is recommended first?)
  • sell placement in the order of substitution in a recipe (Crisco, or I Can’t Believe It’s Not Butter?)
  • sell placement of recipes in searches

How a Supermarket Could Help

Is this your only form of identification?

Supermarkets can help us a great deal in this system. They could:

  • Update your at-home inventory when you check out (your loyalty card will finally do something for you)
  • Provide the UPC/SKU/PLU database
  • Use existing relationships with recipe “makers” (Emeril Lagasse, Martha Stewart, etc) to put high-quality recipes in the system

How Users Could Help

Netflix and Amazon proved the usefulness of user ratings. Technically, so did hotornot.

If enough users are in this system (which should be pretty easy if supermarkets are involved), then it will be possible to build the equivalence classes and substitution system through ratings. If the people who tried to substitute skim milk for whole milk in their macaroni and cheese end up rating the resulting meal poorly, then don’t suggest skim as a possible substitution. Conversely, if people substitute egg whites for eggs and are pleased the result, offer that as a substitution option.

You can also guide an individual’s buying decisions if you know what they actually like. For example, if someone loves spinach and collard greens, you could suggest a recipe that contains kale with reasonable confidence.

The Road Ahead

I’ve done enough…

There is a lot of work to be done on a system such as this. AI algorithms are probably a better building block than pure database programming, especially for the Hard Problems created by Refigurator:

  • Using customer ratings on recipes to decide whether it would be better for them to go to the store for more ingredients or just make a substitution
  • Classifying recipes to figure out which ones are similar
  • Recommending appropriate package sizes based on the desired recipes (some ingredients may be shared between 2 nights’ planned meals)
  • Recommending breaking a shopping trip into 2 nights based on the longevity of ingredients that are meant for a meal later in the week
  • Suggesting alternate ingredients or recipes

What I Ask of You

Simpsons did it!

Spread this idea as far as you can, and try to get it implemented. I don’t want to make any money from this, but I wouldn’t mind a postcard or some other acknowledgement – maybe the honor of being its first customer – if it becomes a reality.

Keep in touch.