Ahh - the dependency graph recipe card. These are excellent. I've imagined something like this forever. Always annoyed that recipes put ingredients in a giant undifferentiated list and then give an instruction like "mix the dry ingredients in a deep bowl".
For a while I expected there could be a good return on a good implementation of this, but now as soon as a strong interface itself is created it seems easy to copy.
I used to want this kind of recipe card, but I've cooked so much that's no longer the case (I actually forgot all about the idea until reading this comment). I can usually look at the list of ingredients, and imagine what needs to be done. If it's an unusual or unfamiliar cuisine I will read the method, but after that point the list of ingredients suffice. If I read a recipe somewhere and want to cook it later, I will just write the ingredients on a post-it (usually in cooking order) and maybe 1-2 brief comments.
I imagine in domains you are skilled at you'd also prefer high level instructions than a step-by-step tutorial.
I agree that doesn't help the beginner, or someone who doesn't cook regularly, or someone cooking something new and I think most recipe writers are just following the established structure without thinking about what they and others really need.
Feels like one might be able to get an llm to convert an annoying to read recipe into a mermaid dependency graph following this example. Might be worth a try!
FWIW though most recipes are basically ~10 steps long so a simple list suffice.
Still it could be an interesting experiment as I imagine that precisely recipes that are less sequential are (on average, with as challenging steps, e.g. excluding making caramel which has a high chance of burning) perceived as more complex.
I asked perplexity to convert a simple recipe to a dependency graph and it works pretty well! I like this graph to figure out my cooking workflow. What tasks can be started independently and what needs to be done before others.
That's a very cool site! I enjoyed the hand-drawn graphs.
Your tables remind me of recipes in Modernist Cuisine. They all have ingredients grouped by the procedures together with weight, sometimes volume, and ratio.
I love this! I bet you could make a successful recipe book based on this concept, with large schematics that a cook can read from a distance while working in the kitchen.
This is cool - I tried automating different recipe formats/visualizations at https://www.gobsmacked.io. I was thinking of trying to do something similar to this next.
I really like these. I went through a phase a couple years ago where I got really into cooking new fancy recipes, and having to scroll around on recipe pages, or try and read my own chicken scratch notes or understand the context I was trying to imply when I wrote the notes weeks ago was a struggle.
Having everything more or less right there in front of your face seems really nice.
And I don't know why, but "Beans (green)" is really tickling my funny bone.
This will perhaps be overkill for what you're trying to achieve, but there is Object Process Methodology (OPM)[1] which may be inspiration for modelling recipes. It looks similar to the methodology you're using, and as an example, expects the following type of modelling:
The advantage of OPM is alignment of graphical and textual representations.
The downside of such approach is you soon discover how many millions of objects may exist in recipes--unwashed carrot, washed carrot, orange carrot, purple carrot, yellow carrot, white carrot, peeled carrot, coarsely diced carrot, finely diced carrot, julienned carrot... and purple julienned carrot vs. yellow julienned carrot. And that's just basic preparation complexity well before any contemplation of cooking or plating up elements. To go further you then discover a lack of useful labels such as "mirepoix" or "soffrito", if for example, you wanted to substitute sweet potato in place of carrot in the recipe.
Then there is SysML 2[2] which is kind of like OPM if you ever wanted to write a recipe in 35,000 lines of code, including possibly all the complexity of mathematical modelling of the Maillard reaction for purple carrots vs. yellow carrots using either extra virgin olive oil or butter. Probably best suited for the largest food processing companies such as Nestle, Unilever, Modelez, etc and even then, inherent complexity of their food products rarely would reach the level of a fine dining dish prepared by a chef.
OPM looks like a great way to implement a free-style crafting system for a roguelike. I mean instead of having standard recipes that you have to assemble you could invent your own by putting together basic ingredients but then you need a way to know what comes out (and its effects I guess). I don't know if any existing games do that.
Also have a look at Inform 7[1] (domain specific language for interactive fiction), specifically the "Stone" example section[2] which explains edible food and the effects different foods may have on the adventurer.
It's similar concept to OPM with some modelling basics already built on top for player movement throughout a world, player interaction with objects (looking at, lifting, moving), and many other primitives needed to write interactive fiction. And relevant to this thread, Inform 7 of course has modelling basics for a player eating food, drinking potions, etc.
Thanks! I know Inform. Haven't used it but I know of it and I think I've even played a few games written with some version of it. Adventure games don't usually do what I had in mind but maybe it's possible to do just not something very relevant to the genre?
Cute! I have a lot of handwritten notes. I've been waiting for a competent "paper scan to SVG" workflow to be developed so I can digitalize them properly. I think your project would also greatly benefit from something like that
Nice ideas, it just misses amounts. And of course there may be nuances of technique missing, e.g. low or high heat. So it might work best as a recap and starting point "how to vary m favourite recipe".
a lot of the schematics have avoidable edge crossings, that could improve intuitive readability enormously, theres entire subfields of graph theory that consideres rendering of graphs and planar embeddings.