I've been putting the finishing touches on my robot that can mix cocktails over the last few weeks.
One of the last steps was to build up the recipe database for it. I knew I wanted to have some sort of Microformats h-recipe integration, but this ended up working out better than I had hoped.
In the "Perfect Drink" iOS app, you can input the list of liquors in your cabinet, and it will show you the recipes you can make with those ingredients. I clicked the "share" button on one of the recipes, and it shared a link to a web page with the recipe.
https://makeitperfectly.com/drink/recipes/1a1913f6-6ba2-11e5-a3ed-f372faffcfa4
I noticed that this web page happens to have Microformats 2 h-recipe markup in it! This meant I had a very quick way of getting these recipes into BarBot's recipe database, by parsing the Microformats!
I created an interface for parsing the recipe from a URL that has h-recipe markup and mapping it to a BarBot recipe. The interface is ugly, but it works!
When I want to add a recipe, the code parses the h-recipe, finds the name, photo and list of ingredients. It then presents me with an interface to map the list of ingredients in the recipe to the ingredients I have in my liquor cabinet. In this example, you can see I'm substituting Triple Sec for Cointreau.
This ends up being the quickest way to add recipes to BarBot's database!