The Cookie Board
133 flavors · one whole-food base · milled, rolled & audited. Built by Jake, July 2026.
Sister project to the [Muffin Board](https://muffin-board.pages.dev). Same rules: whole foods, milled at home, every number derived from cookie_audit.py — never hand-typed.
The house cookie: ~111 cal · 3.4g protein · 1.9g fiber. Flavored: 50–151 cal across 133 recipes.
Muffins are the protein vehicle. Cookies are the treat that happens to be made of oats, chickpeas, and an egg.
📖 The kitchen reference — tap to open
Start here — the one thing that matters
A muffin and a cookie want opposite things.
The muffin base is engineered to build structure — protein, moisture, leavening, a wet batter. That's why it's fluffy and springy.
A cookie is good precisely because structure fails to form. In a normal cookie, fat does that job: it coats the flour so the network can't build. We're not using much fat. So we sabotage the structure four other ways.
| Lever | The move | Why |
|---|---|---|
| Grind | Mill oats + chickpeas COARSE | Big particles can't pack tight. Coarse = tender + more spread. The single biggest lever — and only a mill owner has it. |
| Flour | ~32% chickpea | Chickpea has almost no gluten protein (3–7% vs wheat's 79%). It literally cannot go bready. |
| Leavening | ¼ tsp soda. No baking powder. | Powder = puff = cake. Soda is here for browning, not lift. |
| Sugar | Honey + crystalline sugar | Honey (invert) = chew + spread. Crystal = crisp edge + snap. Sugar also steals water from the flour — it's the #2 anti-structure agent after fat. You need both. |
| Water | Almost none. It's a DOUGH. | Water is the enemy. This is failure mode #1. |
### ⚠️ The golden rule: if it pours, it's a muffin.
This must be a stiff dough you can roll into a ball. Play-doh, not batter.
And be honest about what this is: not shortbread. "Short" — crumbly, sandy, melts on the tongue — is fat, and shortbread is roughly half butter. We can't get there and shouldn't pretend to. This cookie lives at the chewy-crisp end: chewy center, crisp edge, hearty. Think Anzac biscuit (#101), oatmeal cookie, gingersnap. That's a great cookie. It's just a different one.
The full science, with citations, lives in RESEARCH.md — 22 peer-reviewed sources, 99 claims extracted, 25 adversarially fact-checked, 3 killed.
The house base — "Chewy & Crisp" v1
Makes 12 cookies (~35g dough each).
| Dry | Wet | ||
|---|---|---|---|
| Oat flour | 150g (milled COARSE) | Honey | 75g (the chew) |
| Chickpea flour | 70g (milled COARSE) | Raw / coconut / maple sugar | 45g (the snap) |
| Baking soda | ¼ tsp (no powder!) | Egg | 1 large (50g) |
| Salt | ½ tsp | Vanilla | 1 tsp |
| Water | 0–15g ⚠️ only if needed |
Batch: 1,336 cal · 40.7g protein · 22.8g fiber → 111 cal · 3.4g protein · 1.9g fiber per cookie.
Method
- Whisk the dry. Whisk the wet separately. Combine.
- The squeeze test. Grab a fistful. It should hold together and take a shape. Crumbles apart? Add water 1 tsp at a time. Sticky, or slumping? You've gone too far — add a spoon of oat flour.
- Do NOT chill. Chilling is for solidifying fat. With no fat it just hydrates the flour and costs you spread.
- Roll 12 balls (~35g each). Flatten to ~1cm. They won't spread much on their own — shape them as you want to eat them.
- 375°F, 10–12 min. Pull when the edges are golden and the centers still look slightly underdone.
- Cool ON the pan, 5+ minutes. ← Don't skip. They come out soft and set as they cool.
The failure mode to watch for is leathery, not bready. Low fat + oats + too much water + too long in the oven = rubbery. There's a famous review of a fat-free oat cookie that just reads "tastes like an inner tube." Under-bake rather than over-bake — with no fat, there's nothing to keep it tender once you dry it out.
🎛 The ratio dial (chickpea ↔ oat)
220g of flour, split however you like. Same dial as the muffin board — but here it moves texture, not just macros.
| Chickpea : Oat | Protein / cookie | What it does |
|---|---|---|
| 0 : 220 | 3.0g | Softest, most spread. Basically an oat cookie. |
| 40 : 180 | 3.2g | Gentle. For delicate flavors. |
| 70 : 150 ★ | 3.4g | The house. ~32% chickpea — the sweet spot. |
| 110 : 110 | 3.9g | Firmer, snappier. Deep flavors carry it well. |
| 150 : 70 | 4.4g | Very firm, and you'll taste the bean. Only for cookies where that's the point (#96 Caggionetti, #107 Nan-e nokhodchi). |
Per 10g shifted oat → chickpea: −0.03 cal, +0.06g protein, +0.01g fiber per cookie.
Important — this dial is backwards from the muffins'. There, more legume was free protein and you took as much as flavor allowed. Here, chickpea buys protein but spends tenderness. Peer-reviewed sensory panels fall off past ~50% chickpea, and 100%-chickpea shortbread measured 61% harder. So each flavor's "best at" is the most chickpea it can carry before it turns hard or beany — not the most it can hide.
🌾 The grain dial (oat ↔ hard red wheat)
Whatever isn't chickpea is the grain slot (150g at the house ratio). It can be oat, milled hard red wheat, or a split.
Here's the part the board got wrong at first: wheat WINS on every macro.
| Full grain slot (150g) | Cal | Protein | Fiber |
|---|---|---|---|
| All oat ★ | 111 | 3.4g | 1.9g |
| All hard red wheat | 107 | 3.7g | 2.3g |
Swapping the whole grain slot to wheat: −4 cal, +0.3g protein, +0.4g fiber per cookie. Lighter AND more protein AND more fiber. There is no nutritional argument for oat.
So it's purely a texture trade:
| Grain | Texture | Flavor | Use it for |
|---|---|---|---|
| Oat ★ | Soluble beta-glucan → more spread, softer, chewier | Toasty, oaty | Chewy cookies. The house default. |
| Wheat | Insoluble bran → less spread, firmer, snappier | Neutral "bakery" | 🔑 The SNAP cookies. |
| Half & half | Hedged | Middle | When you can't decide. Honestly fine. |
🔑 Wheat's "downsides" are upsides for snappy cookies
Everywhere on this board that wheat's bran is a liability — hardens, kills spread — is a place we wanted chew. But some cookies want the exact opposite:
#121 Thin Mint · #19 Gingersnap · #102 Biscotti · #92 Anise pizzelle · #20 Vanilla crisp · #73 Gingerbread · #61 Black cocoa · #104 Danish vanilla · #126 Trefoil · #25 Cornmeal · #31 Espresso crisp · #79 Speculoos · #103 Speculaas · #21 Chocolate crinkle · #22 Lemon crinkle
For these, hardness and low spread are the goal. Wheat gets you there, gives you better macros, and — because real cookies are made of wheat flour — tastes more like the thing you're duping. Oat's toasty note is the #1 tell that a dupe is homemade. Wheat removes it.
On the site these are flagged 🌾 wants wheat, and every recipe has its own grain toggle.
🪨 The grind dial (free texture, zero calories)
| Grind | Result |
|---|---|
| Coarse ★ | Tender, more spread. The house setting. |
| Medium | Middle of the road. Safe. |
| Fine | Harder, tighter, less spread. The bready direction. |
🔧 Can't grind coarse? Don't sweat it — here's the fix.
The effect is asymmetric. The research says FINE flour "remarkably increased hardness and decreased spread", while COARSE flour only "marginally reduced both." So fine is a real penalty; coarse is a modest bonus. You lose very little by not grinding extra-coarse.
And grind is the LAST of the six levers. In order of actual impact:
- Water — dough, not batter. The whole ballgame. Completely independent of your mill.
- No baking powder.
- Honey + crystalline sugar.
- Flatten thin, don't overbake.
- Chickpea ratio.
- Grind. ← the smallest, and the easiest to work around.
The hack: you don't need a coarse mill setting. You need coarse PARTICLES.
Pulse the rolled oats in a food processor instead of milling them. That gives an uneven, flaky, coarse meal — a better particle profile than most grain mills produce. Or just leave some oats whole. That's literally what an oatmeal cookie is.
The ideal build — needs no mill setting at all:
- Chickpea (70g): mill it however your mill wants to. Fine is fine — it's only 32% of the flour, and it's your binder. (The research is firm that you need a fine minority for cohesion: all-coarse dough was "impossible to laminate.")
- Oat (150g): get your coarse fraction here. Pulsed, or partly left whole.
That's coarse-dominant with a fine minority — exactly the optimum the papers describe, achieved with a food processor.
(Wheat is different — you have to mill the berries — but whatever your mill gives you is fine. Wheat's job here is SNAP, and a finer wheat grind actually helps it.)
Slot swaps
| Slot | Swap | Effect |
|---|---|---|
| Chickpea | Red lentil, 1:1 | +0.4g protein/cookie, milder. But coarse lentil doughs are sticky and hard to handle — mill it finer than you would chickpea. |
| Chickpea | Brown lentil, 1:1 | ≈ same. Earthier. |
| Oat | Hard red wheat, 1:1 | Now a live grain dial — see above. −4 cal, +0.3g protein, +0.4g fiber per cookie. Wheat wins on macros; oat wins on spread. Chewy → oat. Snappy → wheat. |
| Egg | 2 egg yolks | 🔑 The chew upgrade. More fat, more lecithin, more tender. ~+3 cal/cookie. The cheapest real upgrade on the board — if you want the melt, this is the door. |
| Egg | 1 egg + 2 Tbsp real nut butter | The bigger fat dose. ~+15 cal/cookie, and a genuinely different (better) cookie. |
| Honey | Maple syrup, 1:1 | Fine — liquid for liquid. Marginally softer. |
| Sugar | Maple sugar, 1:1 | ✅ The maple answer. Granulated maple = syrup with the water evaporated off. Whole food, does the crystal job properly. |
| Sugar | Sucanat / panela / jaggery | ✅ Evaporated whole cane juice — nothing removed. Same function as coconut sugar. |
| Sugar | Date sugar | ❌ Doesn't work. It's ground dried dates — it doesn't dissolve, so it can't steal water or re-set into snap. Research: date sugars roughly doubled dough hardness. Harder cookie, not crisper. |
| Sugar | Maple syrup | ❌ Double loss. Removes the crystal AND adds water (~33%). This is the swap that pushes you back toward sponge. |
| Sugar | More honey | ❌ You lose the crisp edge. Keep some crystal. |
Why the crystal slot is load-bearing: sugar isn't just sweetness — it's the #2 anti-structure agent after fat. Dissolved sugar competes with the flour for water, starving the network that would otherwise make bread. Then it re-sets on cooling and gives you snap. Pull it out and the flour gets all the water to itself.
For scale: this base is 120g sweetener : 220g flour ≈ 55%. A Tollhouse cookie runs 90–100%. We're already lean.
🚫 What not to do
- Canned / cooked chickpeas — ~60% water. This is exactly what made the first batch spongy. Mill dry chickpeas instead.
- Baking powder — a cake ingredient. Out.
- Greek yogurt — ❌❌ Never. It's the muffin's protein engine because it's water, which is the one thing we're fighting. Adding yogurt to "healthy up" the cookie converts it straight back into a muffin. This is the single most important rule on the board.
- Purées as a "fat replacer" — the research claiming bean/pea purée and oat beta-glucan replace fat was actively refuted. They don't replace fat. They just add water.
- Chilling the dough — pointless without fat, and it costs you spread.
The 133
Every row is base + layer. Numbers are shown AT each flavor's recommendation (its chickpea ratio, plus all-wheat where the flavor wants wheat) — which is exactly what the site shows by default. Change either dial on the site and all 133 recompute live.
⭐ The Originals (#1–12)
Where it starts. If you bake one thing, bake #2.
| # | Flavor | Layer | Cal · Pro · Fib | Best at |
|---|---|---|---|---|
| 1 | ⚪ House | vanilla + flaky salt on top. The naked base — start here. | 111 · 3.4 · 1.9 | house |
| 2 | 🍫 Dark chocolate chip | 50g dark chocolate chips | 132 · 3.8 · 2.2 | 110:110 |
| 3 | 🧂 Chocolate chunk + sea salt | 55g dark chunks; flaky salt AFTER baking | 134 · 3.9 · 2.2 | 110:110 |
| 4 | 🖤 Double chocolate | 20g cocoa, 40g dark chips | 132 · 4.1 · 2.7 | 110:110 |
| 5 | ❤️ Cranberry walnut | 40g dried cranberries, 35g walnuts | 141 · 3.8 · 2.3 | house |
| 6 | 🌾 Oatmeal raisin | 40g whole rolled oats, 45g raisins, 3g cinnamon | 136 · 4.0 · 2.5 | house |
| 7 | 🥜 Peanut butter | 45g natural peanut butter; fork-cross the tops | 133 · 4.6 · 2.2 | 110:110 |
| 8 | 🌀 Snickerdoodle | 4g cinnamon in the dough; roll the balls in 15g sugar + cinnamon | 117 · 3.4 · 2.1 | house |
| 9 | 🫚 Ginger molasses | 30g molasses, 4g ginger/clove/cinnamon; roll in 15g sugar | 124 · 3.7 · 2.1 | 110:110 |
| 10 | 🤎 Date & sea salt | 60g chopped medjool dates; flaky salt after baking | 125 · 3.5 · 2.3 | house |
| 11 | 🍯 Honey oat | 45g whole rolled oats, 15g extra honey | 129 · 3.7 · 2.3 | 40:180 |
| 12 | 🤍 Toasted oat vanilla | 40g rolled oats TOASTED first, double vanilla | 125 · 3.7 · 2.2 | 40:180 |
🍪 The Classics (#13–32)
Every cookie you already know, rebuilt on the base.
| # | Flavor | Layer | Cal · Pro · Fib | Best at |
|---|---|---|---|---|
| 13 | 🍫 Chocolate chip walnut | 40g dark chips, 30g walnuts | 144 · 4.2 · 2.3 | 110:110 |
| 14 | 🤍 White chocolate macadamia | 40g white chips, 30g macadamias | 147 · 3.6 · 2.1 | 40:180 |
| 15 | 🌾 Oatmeal chocolate chip | 40g rolled oats, 40g dark chips | 141 · 4.0 · 2.5 | house |
| 16 | 🥜 PB chocolate chip | 40g peanut butter, 30g dark chips | 143 · 4.6 · 2.3 | 110:110 |
| 17 | 👾 Monster cookie | 30g oats, 30g PB, 25g chips, 20g raisins | 151 · 4.5 · 2.5 | house |
| 18 | 🍬 Sugar cookie | double vanilla; roll in 20g sugar. Flatten thin. | 119 · 3.2 · 1.9 | 40:180 |
| 19 | ⚡ Gingersnap | 25g molasses, 5g spice, 10g crystallized ginger; roll in 15g sugar. Bake 2 min longer for real SNAP. | 123 · 3.9 · 2.4 | 110:110 · 🌾wheat |
| 20 | 🩶 Vanilla crisp | double vanilla, 10g sugar. Flatten VERY thin — the closest we get to shortbread (see the note: we can't truly get there). | 111 · 3.6 · 2.4 | 40:180 · 🌾wheat |
| 21 | 🖤 Chocolate crinkle | 25g cocoa; roll the balls in 20g sugar so they crack open | 119 · 4.3 · 2.9 | 110:110 · 🌾wheat |
| 22 | 🍋 Lemon crinkle | zest of 2 lemons + 1 tsp juice; roll in 20g sugar | 113 · 3.6 · 2.4 | 40:180 · 🌾wheat |
| 23 | 🫚 Molasses spice | 35g molasses, 5g clove/ginger/cinnamon | 121 · 3.7 · 2.1 | 110:110 |
| 24 | 🥥 Coconut macaroon-style | 55g unsweetened shredded coconut, toasted | 142 · 3.5 · 2.6 | 40:180 |
| 25 | 🌽 Cornmeal cookie | SWAP 50g of the oat slot for 50g coarse cornmeal. Sandy, sunny, Italian. | 108 · 3.4 · 2.0 | house · 🌾wheat |
| 26 | 🌙 Almond crescent | 45g ground almonds, double vanilla; shape into crescents | 134 · 4.0 · 2.3 | 40:180 |
| 27 | 🫐 Thumbprint | press a well in each; fill with 45g chopped dried apricot cooked down with a splash of water | 120 · 3.5 · 2.2 | house |
| 28 | 🌸 Peanut blossom | 40g peanut butter; press a chocolate chunk (25g total) into each while hot | 141 · 4.6 · 2.3 | 110:110 |
| 29 | 🗑 Kitchen sink | 25g oats, 25g chips, 20g pecans, 15g coconut | 149 · 4.0 · 2.6 | house |
| 30 | 🌑 Chocolate chunk rye | SWAP 50g of the oat slot for 50g rye flour; 45g dark chunks. Rye + chocolate is a real thing. | 128 · 3.5 · 2.4 | house |
| 31 | ☕ Espresso crisp | 5g instant espresso, double vanilla, 10g sugar | 113 · 3.7 · 2.4 | house · 🌾wheat |
| 32 | ❤️ Oatmeal cranberry white choc | 35g oats, 35g dried cranberries, 30g white chips | 145 · 3.9 · 2.4 | house |
🌰 Nut & Seed (#33–42)
Fat that's inside the food — flavor first, and a little tenderness for free.
| # | Flavor | Layer | Cal · Pro · Fib | Best at |
|---|---|---|---|---|
| 33 | 🫓 Tahini sesame | 40g tahini; 15g sesame seeds pressed on top | 138 · 4.4 · 2.4 | 110:110 |
| 34 | 🥛 Almond | 40g chopped almonds, ¼ tsp almond extract | 131 · 3.9 · 2.3 | 40:180 |
| 35 | 🍁 Maple pecan | 25g maple syrup, 40g pecans | 140 · 3.7 · 2.2 | house |
| 36 | 🥥 Toasted coconut | 40g unsweetened shredded coconut, toasted first | 133 · 3.4 · 2.4 | 40:180 |
| 37 | 🎒 Trail mix | 25g chips, 25g raisins, 20g sunflower seeds | 138 · 3.9 · 2.3 | house |
| 38 | 🎃 Pepita cranberry | 30g pepitas, 30g dried cranberries | 133 · 4.1 · 2.2 | house |
| 39 | 🌰 Hazelnut | 40g toasted hazelnuts, skins rubbed off | 132 · 3.9 · 2.2 | house |
| 40 | 🌹 Pistachio rose | 40g pistachios, ½ tsp rose water | 130 · 3.9 · 2.2 | 40:180 |
| 41 | 🌻 Sunflower butter | 45g sunflower seed butter. The nut-free one. | 134 · 4.4 · 2.1 | 110:110 |
| 42 | 💪 Hemp & flax power | 25g hemp hearts, 15g ground flax, 25g dark chips | 140 · 4.6 · 2.5 | 110:110 |
☕ Café (#43–52)
The ones you'd want next to a flat white.
| # | Flavor | Layer | Cal · Pro · Fib | Best at |
|---|---|---|---|---|
| 43 | ☕ Espresso chocolate | 4g instant espresso, 45g dark chips | 131 · 3.9 · 2.3 | 110:110 |
| 44 | 🍋 Lemon poppy | 12g poppy seeds, zest of 1 lemon, ½ tsp juice | 117 · 3.4 · 2.0 | 40:180 |
| 45 | 🍵 Matcha white-chip | 6g matcha, 30g white chips | 126 · 3.5 · 2.1 | 40:180 |
| 46 | 💚 Pistachio chocolate | 15g cocoa, 35g pistachios | 131 · 4.2 · 2.6 | house |
| 47 | 🍂 Chai spice | 6g chai blend (cardamom, ginger, cinnamon, clove, pepper), 10g sugar | 116 · 3.7 · 2.1 | 110:110 |
| 48 | 🫖 Earl grey | steep 2 tsp loose earl grey in the honey (warm it), strain; double vanilla, 10g sugar | 116 · 3.2 · 1.9 | 40:180 |
| 49 | ☕ Cardamom coffee | 5g ground cardamom, 4g instant espresso | 114 · 3.7 · 2.2 | 110:110 |
| 50 | 🤎 Mocha chip | 15g cocoa, 4g espresso, 35g dark chips | 130 · 4.1 · 2.6 | 110:110 |
| 51 | 💜 Lavender honey | 1 tsp culinary lavender steeped in warmed honey (strain), 20g extra honey | 116 · 3.2 · 1.9 | 40:180 |
| 52 | 🌀 Cinnamon latte | 5g cinnamon, 3g espresso, 12g sugar | 117 · 3.4 · 2.2 | house |
🍫 The Chocolate Wing (#53–62)
Cocoa is 20% protein and 33% fiber. The best-behaved indulgence on the board.
| # | Flavor | Layer | Cal · Pro · Fib | Best at |
|---|---|---|---|---|
| 53 | 🖤 Triple chocolate | 20g cocoa, 35g dark chips, 20g white chips | 139 · 4.2 · 2.7 | 110:110 |
| 54 | 🌰 Chocolate hazelnut | 35g hazelnuts, 12g cocoa, 25g dark chips | 142 · 4.4 · 2.7 | 110:110 |
| 55 | 🍊 Chocolate orange | 18g cocoa, 35g dark chips, zest of 1 orange | 129 · 4.1 · 2.6 | 110:110 |
| 56 | 🌿 Chocolate peppermint | 18g cocoa, 35g dark chips, ¼ tsp peppermint extract | 129 · 4.1 · 2.6 | 110:110 |
| 57 | 🫓 Chocolate tahini | 15g cocoa, 35g tahini, 20g dark chips. Swirl the tahini, don't fully mix. | 140 · 4.5 · 2.7 | 110:110 |
| 58 | 🌶 Mexican hot chocolate | 20g cocoa, 4g cinnamon, 30g dark chips, pinch cayenne | 128 · 4.1 · 2.8 | 110:110 |
| 59 | 💥 Cocoa nib crunch | 30g cacao nibs, 25g dark chips. Real crunch, almost no sugar added. | 138 · 4.1 · 2.9 | 110:110 |
| 60 | 🍒 Chocolate cherry | 40g dark chips, 35g dried tart cherries | 138 · 3.9 · 2.3 | 110:110 |
| 61 | ⚫ Black cocoa | 28g black (or Dutch) cocoa, 10g sugar. The Oreo note. | 117 · 4.3 · 3.0 | 110:110 · 🌾wheat |
| 62 | 🧂 Chocolate espresso sea salt | 15g cocoa, 5g espresso, 40g dark chips; flaky salt after baking | 132 · 4.1 · 2.7 | 110:110 |
🍂 Fall (#63–72)
The good season.
| # | Flavor | Layer | Cal · Pro · Fib | Best at |
|---|---|---|---|---|
| 63 | 🎃 Pumpkin spice | 60g pumpkin purée, 4g pie spice, 25g pepitas — omit the base water (w) | 126 · 4.1 · 2.2 | house |
| 64 | 🍎 Apple cider | 50g grated apple, 3g cinnamon; reduce 100g cider to a syrup and use it for the water (w) | 114 · 3.2 · 2.1 | 40:180 |
| 65 | 🍁 Maple walnut | 25g maple syrup, 40g walnuts | 139 · 3.9 · 2.1 | house |
| 66 | 🍂 Chai oatmeal | 40g rolled oats, 6g chai spice | 126 · 4.1 · 2.5 | 110:110 |
| 67 | 🥧 Pecan pie | 45g pecans, 25g maple syrup; press a pecan half on each | 143 · 3.7 · 2.3 | house |
| 68 | 🌀 Cinnamon sugar | 5g cinnamon in the dough; roll in 18g sugar | 118 · 3.4 · 2.1 | house |
| 69 | 🍐 Spiced pear | 50g grated pear, 4g spice — omit the base water (w) | 115 · 3.2 · 2.1 | 40:180 |
| 70 | ⚡ Molasses ginger crinkle | 30g molasses, 12g crystallized ginger; roll in 15g sugar | 127 · 3.6 · 1.9 | 110:110 |
| 71 | 🧡 Butternut & pepita | 55g roasted squash purée, 25g pepitas — omit the base water (w) | 125 · 4.1 · 2.1 | house |
| 72 | 🍠 Sweet potato pecan | 60g roasted sweet potato, 30g pecans — omit the base water (w) | 133 · 3.7 · 2.3 | house |
❄️ Winter & Holiday (#73–82)
Tins, gifts, and the cookie plate.
| # | Flavor | Layer | Cal · Pro · Fib | Best at |
|---|---|---|---|---|
| 73 | 🫚 Gingerbread | 35g molasses, 6g ginger/clove/cinnamon. Roll thin, cut shapes. | 118 · 3.9 · 2.4 | 110:110 · 🌾wheat |
| 74 | 🌿 Peppermint chocolate | 18g cocoa, 35g dark chips, ¼ tsp peppermint | 129 · 4.1 · 2.6 | 110:110 |
| 75 | 🥛 Eggnog | 4g nutmeg + cinnamon, double vanilla, 10g sugar | 117 · 3.2 · 2.0 | 40:180 |
| 76 | 🍊 Cranberry orange | 45g dried cranberries, zest of 1 orange | 123 · 3.2 · 2.1 | 40:180 |
| 77 | 🌶 Pfeffernüsse | 25g molasses, 7g spice + a real crack of black pepper | 119 · 3.7 · 2.2 | 110:110 |
| 78 | 💗 Linzer | 40g ground almonds; sandwich two with 35g apricot cooked down | 138 · 4.0 · 2.5 | 40:180 |
| 79 | 🪟 Speculoos | 6g speculoos spice, 15g molasses, 15g sugar. Press in a mold if you have one. | 118 · 3.9 · 2.4 | 110:110 · 🌾wheat |
| 80 | 🌰 Chestnut | SWAP 60g of the oat slot for 60g chestnut flour. Naturally sweet, low-fat, ancient. | 110 · 3.0 · 1.8 | house |
| 81 | ⭐ Fig & anise | 45g dried figs, 4g anise seed | 122 · 3.6 · 2.3 | house |
| 82 | 💎 Panforte | 25g almonds, 20g hazelnuts, 30g dried figs, 4g spice. Siena in a cookie. | 141 · 4.2 · 2.7 | house |
🌸 Spring & Summer (#83–90)
Bright, zesty, light.
| # | Flavor | Layer | Cal · Pro · Fib | Best at |
|---|---|---|---|---|
| 83 | 🍋 Lemon almond | 35g ground almonds, zest of 2 lemons | 128 · 3.8 · 2.2 | 40:180 |
| 84 | 🍓 Strawberry white choc | 40g freeze-dried/dried strawberries, 25g white chips | 134 · 3.4 · 2.1 | 40:180 |
| 85 | 💙 Blueberry lemon — the Wife Cookie | 40g dried wild blueberries, zest of 1 lemon rubbed into the honey. The cookie answer to muffin #62. | 122 · 3.2 · 2.1 | 40:180 |
| 86 | 🥥 Coconut lime | 40g shredded coconut, zest of 2 limes | 133 · 3.4 · 2.4 | 40:180 |
| 87 | 🧡 Apricot pistachio | 40g dried apricots, 30g pistachios | 133 · 4.0 · 2.4 | house |
| 88 | 🫒 Olive oil & rosemary | 20g extra-virgin olive oil, 1 tbsp minced rosemary, 10g sugar, flaky salt. The oil is REAL fat — this is the most tender cookie on the board, and it's honest about why. | 129 · 3.4 · 1.9 | house |
| 89 | 💜 Honey lavender | 20g extra honey steeped with culinary lavender, double vanilla | 118 · 3.2 · 1.9 | 40:180 |
| 90 | 🥭 Mango coconut | 40g dried mango, 25g shredded coconut | 136 · 3.4 · 2.3 | 40:180 |
🇮🇹 Cucina Povera (#91–100)
Abruzzo & Gallo Matese. Poor food, rich ideas — same wing as the muffin board's.
| # | Flavor | Layer | Cal · Pro · Fib | Best at |
|---|---|---|---|---|
| 91 | 🫐 Fig & walnut | 50g dried figs, 30g walnuts | 138 · 3.9 · 2.5 | house |
| 92 | ⭐ Anise pizzelle | 5g anise seed, 10g sugar. Flatten VERY thin. | 111 · 3.6 · 2.4 | 40:180 · 🌾wheat |
| 93 | 🌰 Gianduia | 35g hazelnuts, 12g cocoa, 25g dark chips. Piedmont's gift. | 142 · 4.4 · 2.7 | 110:110 |
| 94 | 🍒 Almond & sour cherry | 35g almonds, 35g dried tart cherries | 138 · 4.1 · 2.4 | house |
| 95 | 🌾 Semolina & orange | SWAP 60g of the oat slot for 60g semolina (mill the durum coarse); zest of 1 orange | 110 · 3.4 · 1.6 | house |
| 96 | 🇮🇹 Caggionetti | 15g cocoa, 20g dark chips, 3g cinnamon — and push the chickpea UP. Abruzzo's chickpea-and-chocolate sweet, rebuilt as a cookie. | 123 · 4.2 · 2.6 | 150:70 |
| 97 | 🍯 Ricciarelli | 50g ground almonds, 20g extra honey. Siena's chewy almond cookie — genuinely close to the real thing. | 141 · 4.1 · 2.4 | 40:180 |
| 98 | 🌲 Pignoli | 40g pine nuts pressed all over the outside; zest of 1 lemon | 134 · 3.7 · 2.0 | 40:180 |
| 99 | 🌰 Chestnut & cocoa | SWAP 60g of the oat slot for 60g chestnut flour; 12g cocoa. Castagnaccio energy. | 113 · 3.2 · 2.1 | house |
| 100 | 🫒 Olive oil, orange & fennel | 20g olive oil, 4g fennel seed, zest of 1 orange | 127 · 3.4 · 2.0 | house |
🌍 World Tour (#101–110)
Every culture that ever put flour and sugar together.
| # | Flavor | Layer | Cal · Pro · Fib | Best at |
|---|---|---|---|---|
| 101 | 🇦🇺 Anzac | 45g rolled oats, 30g coconut, 15g extra honey (stands in for golden syrup). THE reference cookie — this is the texture we're chasing. | 146 · 3.9 · 2.7 | 40:180 |
| 102 | 🇮🇹 Biscotti | 45g almonds, 3g anise. Bake as a log, slice, then bake the slices again at 300°F for 12 min. The one cookie that WANTS to be hard. | 131 · 4.7 · 2.7 | 110:110 · 🌾wheat |
| 103 | 🇳🇱 Speculaas | 6g speculaas spice, 25g ground almonds, 12g sugar | 126 · 4.3 · 2.7 | 110:110 · 🌾wheat |
| 104 | 🇩🇰 Danish vanilla | double vanilla, 12g sugar. Pipe or press thin. | 111 · 3.6 · 2.4 | 40:180 · 🌾wheat |
| 105 | 🇲🇽 Mexican wedding | 45g toasted pecans, roll in 15g sugar while warm, then again when cool | 142 · 3.6 · 2.2 | 40:180 |
| 106 | 🇬🇷 Melomakarona | 35g walnuts, 25g extra honey, zest of 1 orange. Soak in warm honey after baking. | 137 · 3.8 · 2.1 | house |
| 107 | 🇮🇷 Nan-e nokhodchi | 5g ground cardamom — and take the chickpea to MAX. Persia's traditional chickpea cookie: this recipe was always going to end up here. | 113 · 3.9 · 2.1 | 150:70 |
| 108 | 🇯🇵 Matcha | 7g matcha, 25g white chips | 124 · 3.5 · 2.1 | 40:180 |
| 109 | 🇸🇪 Swedish cardamom | 6g freshly ground cardamom, 12g sugar | 117 · 3.4 · 2.1 | house |
| 110 | 🇱🇧 Ma'amoul | 65g date paste as a filling (wrap the dough around it), 10g sesame on top | 131 · 3.6 · 2.4 | house |
👧 The Ruby Wing (#111–116)
No chunks, no whole nuts. Soft is fine here — she isn't grading us on snap.
| # | Flavor | Layer | Cal · Pro · Fib | Best at |
|---|---|---|---|---|
| 111 | 🍌 Ruby banana oat | 60g mashed banana, 30g rolled oats, 2g cinnamon — omit the base water (w) | 126 · 3.4 · 2.3 | 0:220 |
| 112 | 🍎 Ruby apple cinnamon | 60g grated apple, 3g cinnamon, 25g raisins — omit the base water (w) | 121 · 3.1 · 2.2 | 0:220 |
| 113 | 🍫 Ruby chocolate chip | 35g mini dark chips. Make them small. | 126 · 3.4 · 2.1 | 40:180 |
| 114 | 🤎 Ruby oat & date | 35g rolled oats, 45g date paste. No added sugar needed at all. | 133 · 3.4 · 2.5 | 0:220 |
| 115 | 🥕 Ruby carrot raisin | 55g finely grated carrot, 25g raisins — omit the base water (w) | 120 · 3.1 · 2.1 | 0:220 |
| 116 | 🎃 Ruby pumpkin | 55g pumpkin purée, 3g cinnamon — omit the base water (w) | 114 · 3.0 · 2.0 | 0:220 |
🥕 The Cakey Corner (#117–120)
⚠️ Truth in advertising: produce is water, and water makes cake. These come out SOFTER and more muffin-top-like than the rest of the board. Great flavor, known trade. Omit the base water.
| # | Flavor | Layer | Cal · Pro · Fib | Best at |
|---|---|---|---|---|
| 117 | 🥕 Carrot cake | 60g grated carrot, 25g raisins, 3g cinnamon, 20g walnuts — omit the base water (w) | 131 · 3.8 · 2.4 | house |
| 118 | 🥒 Zucchini chocolate | 60g grated zucchini (SQUEEZE IT DRY), 18g cocoa, 30g chips — omit the base water (w) | 128 · 4.1 · 2.6 | 110:110 |
| 119 | 🍌 Banana chocolate chip | 65g mashed banana, 35g dark chips — omit the base water (w) | 131 · 3.6 · 2.2 | house |
| 120 | 🍫 Beet chocolate | 55g roasted grated beet, 20g cocoa, 25g chips — omit the base water (w) | 127 · 4.1 · 2.8 | 110:110 |
🍀 The Girl Scout Wing (#121–130)
The lineup is a perfect stress test — it contains both our BEST possible cookie (#122 Do-si-do: oat + peanut butter is this base's native language) and our literally impossible one (#126 Trefoil: shortbread IS butter). Real Girl Scout cookies are tiny — a Thin Mint is 8g — so these carry custom yields to match their form. Ours run bigger and ~25% lighter per gram.
| # | Flavor | Layer | Cal · Pro · Fib | Best at |
|---|---|---|---|---|
| 121 | 🌿 Thin Mint | 25g cocoa + 1 tsp peppermint extract in the dough; roll THIN (3mm), cut 2" rounds, bake 14–16 min for a full crisp-through. Bottom-dip in 90g melted dark chocolate. Makes ~36. The single best structural fit on the whole board — snappy thin cocoa wafer is exactly what a chickpea-max dough wants to be. | 50 · 1.6 · 1.1 (of 36) | 150:70 · 🌾wheat |
| 122 | 🥜 Do-si-do | 45g rolled oats in the dough; sandwich pairs with a filling of 90g peanut butter + 20g honey. Makes ~16 sandwiches. Oat + peanut butter is our base's native language — this is the closest thing to a perfect dupe on the list. | 131 · 4.5 · 2.1 (of 16) | 110:110 |
| 123 | 🥥 Samoa / Caramel deLite | 70g toasted coconut folded in; top with DATE CARAMEL (blend 70g medjool dates + hot water + a big pinch of salt to a paste); stripe with 45g melted dark chocolate. Makes ~16. Date caramel is a genuinely great whole-food answer to caramel — this one works better than it has any right to. | 139 · 3.1 · 2.7 (of 16) | house |
| 124 | 🥜 Tagalong | press a patty of 80g peanut butter onto each baked cookie, chill, then coat with 70g melted dark chocolate. Makes ~16. Honest note: by weight this is mostly PB and chocolate sitting on a small cookie — the calories live in the topping, not the dough. | 135 · 4.2 · 2.1 (of 16) | 110:110 |
| 125 | 🍋 Lemon-Up | zest of 3 lemons in the dough; glaze with 20g sugar whisked with lemon juice. Makes 12. Easy — bright citrus is well inside what this base does. | 118 · 3.2 · 1.9 | 40:180 |
| 126 | 🩶 Trefoil — the honest one | double vanilla, 15g sugar, flatten thin. Makes 12. ⚠️ READ THIS: we cannot actually make a Trefoil. It's shortbread — and shortbread IS butter (roughly half of it, by weight). Its whole identity is the crumbly, sandy melt that ONLY fat produces. This bakes a nice thin vanilla crisp, but it is not a Trefoil and never will be. The only real path here is the 2-egg-yolk swap, or accepting butter. This row exists to be honest, not to pretend. | 112 · 3.6 · 2.4 | 40:180 · 🌾wheat |
| 127 | 🔥 S'more | 12g cocoa + 45g dark chunks; sprinkle flaky salt. Makes 12. Sneaky-good fit: a graham cracker is literally honey + whole grain + a little fat — which is already what our base tastes like. The graham half is free. (Marshmallow is sugar and gelatin; it's not coming to this party.) | 132 · 3.8 · 2.5 | house |
| 128 | 🧂 Adventureful | 25g cocoa, 30g dark chips; press a thumbprint and fill with 50g date caramel; flaky sea salt on top. Makes 12. Brownie + salted caramel — the date caramel carries it. | 140 · 4.2 · 3.1 | 110:110 |
| 129 | 🍞 Toast-Yay! | 6g cinnamon in the dough; ice with 20g sugar whisked with a splash of water + vanilla. Makes 12. French-toast energy. Basically a snickerdoodle with a jacket. | 119 · 3.4 · 2.2 | house |
| 130 | 🍬 Toffee-tastic | 60g date paste + 20g sugar cooked down into a date-toffee, folded through; 30g toasted pecans. Makes 12. ⚠️ Real toffee is butter + sugar boiled together — we're substituting a date caramel. Honest cousin, not a dupe. | 149 · 3.5 · 2.5 | 40:180 |
💌 By Request (#131–133)
The living wing — someone asks, it gets built, numbered, and lands here. Numbers are permalinks, so this stays append-only forever.
| # | Flavor | Layer | Cal · Pro · Fib | Best at |
|---|---|---|---|---|
| 131 | 🍯 The Graham Cracker | 20g molasses + 3g cinnamon. Set the grain dial to ALL WHEAT — "graham flour" is literally coarsely-milled whole wheat, so with a mill you make the REAL thing. Roll THIN (3mm), dock all over with a fork, cut into squares, bake 15–18 min until crisp through. Makes ~24. ⭐ The best fit on the entire board. A graham is honey + coarse whole wheat + a snap — which is what this base already IS. Its only edge on us is ~3g of oil per serving. | 56 · 1.8 · 1.2 (of 24) | 40:180 · 🌾wheat |
| 132 | 🌀 Cinnamon graham | 20g molasses; dust the rolled sheet with 15g sugar + 4g cinnamon before cutting. All wheat, roll thin, dock, 15–18 min. Makes ~24. | 58 · 1.8 · 1.3 (of 24) | 40:180 · 🌾wheat |
| 133 | 🍫 Chocolate graham | 20g molasses, 20g cocoa, 2g cinnamon. All wheat, roll thin, dock, 15–18 min. Makes ~24. The s'mores base — and the same wafer that becomes a Thin Mint (#121) if you dip it. | 58 · 2.0 · 1.5 (of 24) | 40:180 · 🌾wheat |
🏆 HALL OF FAME
- Most protein: #102 🇮🇹 Biscotti — 4.7g (then #42 💪 Hemp & flax power at 4.6g, #16 🥜 PB chocolate chip at 4.6g)
- Most fiber: #128 🧂 Adventureful — 3.1g (cocoa is 20% protein and 33% fiber — the sneakiest fiber source on the board)
- Lightest: #121 🌿 Thin Mint — 50 cal
- Heaviest: #17 👾 Monster cookie — 151 cal (and worth every one)
- The reference: #101 🇦🇺 Anzac — the real-world cookie this whole base is chasing. Bake it to calibrate your palate.
- The one that had to exist: #107 🇮🇷 Nan-e nokhodchi — Persia has been making chickpea cookies for centuries. We were always going to end up here.
- The best dupe on the board: #131 🍯 The Graham Cracker. "Graham flour" IS coarsely-milled whole wheat — with a mill you make the real thing, and a graham is supposed to be hard and snappy. Every weakness of this base is a requirement of that cracker.
Every number: python3 cookie_audit.py. Rows regenerate with python3 build_board.py. The site rebuilds with python3 build_site.py. Nobody hand-types a number — that's the whole design.