Dave's Recipes

About Dave's Eats

I've always loved to cook, and I've always loved to eat. I've always had a bit of an obsession with re-creating some amazing dish that I've had before. I'm also a bit of a perfectionist, and have generally been obsessed with recipes and wanting to create the perfect recipe for everything.

What do I hate about other recipe books?

  • Inaccurate, poorly-tested recipes
  • They don't use grams
  • Not easy to follow
  • They are never updated, refined, or improved
  • Lack of scaling
  • Too many recipes

As for recipe websites, I have the same complaints but with some additional gripes:

  • Content Issues
    • Too much back-story
    • Too many pictures
    • Too many ads
    • Too many sponsored posts
  • Recipe Quality
    • Too many comments, not enough testing reports
    • Lack of scaling, or the scaling doesn't work well
    • Too many recipes, when I really just want a core set of recipes that I use over and over

A bit of History

In 2004 I had this idea to create a LaTeX-based recipe site that would render recipes nicely and solve some of these problems. I called it freecookbook.

Here's what I wrote in my application:

I am not sure if you guys support this kind of project, but I think it is an interesting and very useful one. There are some free recipe websites out there but often I find there are just TOO many recipes. Other websites like allrecipes.com make people pay to see certain recipes.

There we can see that one of my main frustrations was the number of recipes (and hence the quality), and the fact that some sites make people pay to see certain recipes (I guess allrecipes.com was maybe partly pay-walled at the time, although I don't remember that).

The goal is to create a free open-source cookbook (of food recipes) using an amazing (but simple) latex class called ['cooking' by Axel Reichert](https://ctan.org/tex-archive/macros/latex/contrib/cooking?lang=en). This class has a great way of structuring the recipe layout which you can see in the source code I provided.

I was hugely into LaTeX at the time. I did everything in LaTeX, and when I started documenting some family recipes I immediately looked to see if there were any existing LaTeX styles out there to typeset recipes. This particular LaTeX style was hugely inspirational to me.

Here's what Alex Reichert has to say about recipe typesetting:

Most books start a recipe with a list of ingredients, after that a few paragraphs describing what to do. Thus it is difficult to find the continuation of the recipe, what to do next... An even better solution is to use a two-column layout: Each ingredient appears in the left-hand column, what to do with it is written in the right-hand column. The right column is less wide than the usual width of the text, this makes quick browsing of the recipe easier, like in newspapers. Also, there is no need for a list of ingredients, you just read the left column.

He goes on to reference that this same style is used in the popular German cookbooks by Dr. Oetker, and it's also suggested in the popular German textbook on typography by Willberg and Forssman.

This is the only example I can find of a Dr. Oetker cookbook that actually uses this two-column layout:

Dr. Oetker cookbook Example of the two-column layout in an older Dr. Oetker cookbook

More modern versions of Dr. Oetker cookbooks seem to have abandoned this style in favor of a more traditional layout (Dr. Oetker by the way is kind of like the Betty Crocker of Germany, this is according to a German blogger); however there are some other Dr. Oetker cookbooks that do use this style:

Dr. Oetker cookbook A more recent Dr. Oetker cookbook using the two-column layout

I recently noticed that the old Better Homes & Gardens cookbook also uses this style of mixing ingredients and instructions but without the two-column layout:

Better Homes & Gardens cookbook Example of the two-column layout in an older Better Homes & Gardens cookbook

Anyways, I digress. This is what I continued to write about in my application for the freecookbook project:

The cookbook would contain many recipes. Initially, the cookbook would contain almost any recipe. Recipes would be decided upon by the developers whether or not to include them. Identical recipes would be merged so as to find the ultimate recipe. For example, unless two recipes for spaghetti sauce differ significantly, the two recipes will be combined, taking the best of each to make the best recipe. This cookbook will start off as being the best of the best, only the best recipes out there. Eventually as the project expands I would like to have several cookbooks branch off into a desert-only cookbook, a vegetarian-only cookbook, a main course-only cookbook, and so on. This is easily achieved by using `\include` statements, to include recipes of certain types. Using LaTeX as the processing system gives us a lot of flexibility, especially with regards to changing the output format of the recipes later.

Here you can see the start of what I was also thinking about: separating the formatting from the content. LaTeX is a great tool for this, and it's what I was using to write my recipes at the time. I wrote a dozen recipes in LaTeX and then never really went any further with it. You can still see the freecookbookrecipes here in this PDF.

The original freecookbook LaTeX-based recipe site from 2004

Finally, I added:

I have one person on the internet who also uses the latex cooking class and is willing to help contribute some recipes to get us started.

I did get many other offers for help over the years, like this one from a concerned Italian:

I have come across your project "FreeCookBook". You use spaghetti as an example while discussing your philosophy, and, being Italian, I feel the need to point out some misconceptions.

Or this one in 2006:

The FCB sounds like a fun project and I'd love to help out.

There were a dozen other offers to help over the years. I was initially excited, as I said to my wife:

> A guy just responded to my "job posting" for help with the freecookbook project. It's volunteer of course. Actually another guy mentioned before he wants to help, but he's more into contributing recipes. Before that we need to develop an easy way for people to input recipes, the latex format is too cryptic.

There we see the problem, typing recipes in LaTeX is not exactly the way to go.

To another person a few months later, I responded:

I kind of put it on hold because so much has changed in recent years, especially in regards to web apps and wikis and the like. I think it might be more reasonable to make a webapp (using Django perhaps) to input recipes, and then to have an export function to export recipes to latex in a nice print format...

So around 2010, I started creating Django Recipes and initially hosted a site on https://recipes.davidgrant.ca that was a simple Django app with a database of recipes. It featured:

  • Recipe Formatting
    • Nice 2 column layout with related ingredients and instructions
    • Mobile-friendly design
  • Unit Handling
    • Conversions to grams for any ingredient that has a conversion factor
    • Nice formatting of cups, tbsp, tsp including scaling and unit conversion
  • Functionality
    • Recipe scaling

For years my wife and I have been using it to store a handful of recipes that we use very often, especially: * Spaghetti sauce * Pancakes * Chocolate chip cookies

We love the scaling feature and the ability to convert to grams. If there is ever a recipe I find online that is not written in grams, or if I really want to easily scale it up or down, I'll add it to my site.

From around 2010 to 2024, this was the state of my site. I added a few recipes here and there, but adding new recipes was so cumbersome.

In 2024, I finally completely revamped the site with modern features:

  • AI-powered Recipe Parsing: Input recipes from any text source with automatic ingredient and instruction detection
  • OCR Support: Extract recipes directly from images
  • Modern Design: Better styling and presentation of images

Thanks for visiting my site.