The Mixing Ingredients Recipe Database is Live!
I've wanted to build this for years and for whatever reason I finally did it this week - I hope it's as helpful for all of you as it is for me!
If I’ve wanted to do this for years, including some stints where I wasn’t working regularly, why did I decide to build this this week all-of-a-sudden? I suppose the answer to “why now?” is 2 parts:
I can’t stop reading about Gas Town. And reactions to Gas Town. And how that has inspired everyone to give “vibe coding” another real go
This probably shouldn’t be as true as it is at this point, but I’m usually “the data guy” on work projects. Which means I’m very persnickety about how data is structured. And I’ve recently had a project come across my desk that is basically breaking down mash bills in a single field in a database into components so that we can do some comparative analysis at “scale”
I’d love to tell you that this “app” is the result of asking an AI tool to build me an amazing front-end for recipes I’ve written, inspired by a genius insight I had at work doing something similar. But the truth is I finally just engaged in solving the fundamental problem I’d always faced in this database design and decided to stop being lazy since my work answer turned out to basically be “brute force”.
The Problem
I’m not going to get into the nitty gritty here, but the basic idea I always struggled with is that there are 2 obvious ways to put a recipe in a database:
The ingredients and amounts are all in a single column (let’s call it Recipe)
The ingredients and their amounts are all in their own columns (let’s call them Ingredient 1, Amount 1, etc)
In Solution 1, this can read fine but it’s hard to search. I call out specific bottles, like Carpano Antica Formula, but if you don’t know that and search for “Sweet Vermouth” you’re SOL.
In Solution 2, you can have that same problem - but you could get around it if you combined both solutions and used generic terms in the “ingredient columns.” But then you have to know what column to filter on - what if Gin is “Ingredient 1” in a Martini but “Ingredient 2” in a Negroni?
My “brute force” answer at work was to build dozens of Boolean columns on each row so that every record had an indicator for every possible ingredient. That’s a discrete dataset, but even my Market Map isn’t exhaustive enough to do that for MI. And it requires a ton of effort to maintain.
A Better Solution
I described this problem, and really only this problem, to Gemini on Monday. And it quickly had an answer for me:
Start with “Solution 1” above in Airtable
Instead of “Solution 2” above, just add all of the “generic ingredients” as “tags” on the record
Add another tag for “Base Spirit” since that’s also a good separate filter
Build this all into a front end via Softr (which I had never heard of) that can search and filter across all 3 of those columns
To be fair, this loses some functionality from a “perfect” design. If for instance you want to search for recipes that use less than an ounce of something, this won’t do that for you. But I think that’s an edge case.
I mostly built this for myself if I’m being honest; I’m tired of searching through Notes on my phone, so having a defined structure will be very helpful for me. Right now, only the 10 House Cocktails are loaded in, but I’m going to be adding every recipe I’ve posted for the last 7+ years as we go. By the end of February, this should be fully comprehensive! I hope y’all like it.
User Guide for The MI Recipe Database
1 - Click the link right in the center of the masthead
2 - Search for a cocktail
3 - Filter for specific ingredient types
4 - Filter for a specific base spirit
5 - Click into a recipe for full details and a link back to MI







This article comes at the perfect time! I've been trying to organize my book collection, and the strugle to structure data properly is real. Your 'brute force' solution resonates. So cool to see someone tackling these fundamental database challenges. You're brilliant for getting this done!