Larkspur Mill

Recipe · Sourdough · Two days

The Larkspur country loaf

A crackling, open-crumbed sourdough for home ovens. One Dutch oven, no mixer, and a baker a click away at every step.

Active
45 min
Total
36 h
Makes
2 loaves
Hydration
75%
A scored sourdough loaf with a tall ear, on a wooden board beside a striped linen towel and ears of wheat.

Ingredients for two loaves

IngredientGramsBaker's %
Larkspur bread flour80080%
Stone-ground whole wheat20020%
Water, 30 °C75075%
Levain, from step 120020%
Fine sea salt202%

Method

  1. Day 1 · 9 pm · 5 min

    Build the levain

    Mix 50 g active starter with 100 g warm water and 100 g whole wheat flour in a jar. Cover loosely and leave overnight at about 24 °C.

    Ready when it has doubled, the top is domed and bubbly, and it smells pleasantly sour, like yogurt.

  2. Day 2 · 8 am · rest 45 min

    Autolyse

    Mix 800 g bread flour, 200 g whole wheat and 750 g water at 30 °C until no dry flour remains. Cover and rest. The flour hydrates and the dough starts building strength on its own.

  3. 8:45 am · 10 min

    Add levain and salt

    Add 200 g levain and squeeze it through the dough with a wet hand. After 20 minutes, sprinkle in 20 g salt with a splash of water and pinch until it disappears.

  4. 9:30–11 am · 4 sets

    Stretch and fold

    Every 30 minutes, lift one side of the dough with wet hands, stretch it up and fold it over. Turn the bowl and repeat on all four sides. It goes from shaggy to smooth and elastic.

  5. Until about 1 pm

    Bulk fermentation

    Leave the dough covered after the last fold. At 24 °C, bulk takes four to five hours from adding the levain. Warmer kitchens are faster, cooler ones slower.

    Done when the dough has grown by about half, is domed and jiggly, and shows bubbles on the top and sides.

  6. 1 pm · rest 30 min

    Divide and pre-shape

    Tip the dough onto an unfloured counter, cut it in two, and round each piece into a loose ball with a bench scraper. Let them relax, uncovered.

  7. 1:30 pm · 10 min

    Shape

    Flour the top, flip, and fold into a tight round: bottom up, sides in, top down, then roll it toward you to build tension. Place it seam side up in a floured basket.

  8. Overnight · 12–16 h

    Cold proof

    Cover the baskets and refrigerate at 4 °C. The cold deepens the flavour and makes the dough much easier to score.

  9. Day 3 · 8 am · 45 min

    Bake

    Preheat the oven with a Dutch oven inside to 250 °C for 45 minutes. Turn a loaf onto parchment, score one confident curve at a shallow angle, and bake 20 minutes with the lid on, then 25 minutes uncovered at 230 °C, until deep brown.

    Wait an hour before cutting. The crumb is still setting.

How it works

A stand-button wherever people get stuck

Recipes, docs and setup guides have predictable sticking points. Put a <stand-button> right there. Each one opens chat with its own greeting, and a private prompt tells whoever answers exactly where the visitor is.

The buttons need no JavaScript; the element comes with stand.js. One line hides Stand's own floating button, so the recipe's buttons are the way in:

<script>addEventListener('DOMContentLoaded', () => window.StandChat?.initiallyHideChatButton());</script>

Try it

  1. Every step has its own button. In step 5, click Is bulk done? The chat opens with a greeting about bulk fermentation.
  2. Compare it with Help with shaping in step 7: a different greeting and different context.
  3. At the top, a banner offers a real baker or the AI assistant, depending on who is answering right now.
Chats here use data-stand-id="demo", Stand Chat's shared demo site, which works on any domain. Its demo Stand-in follows the page's greeting and prompt, but won't speak for the made-up business. With your own Site ID, your own Stand-ins answer.

One button

<stand-button
  hidden
  message="Bulk is the trickiest judgement call. How much has your dough grown, and how warm is your kitchen?"
  prompt="The visitor is on step 5 (bulk fermentation) of the Larkspur country loaf: 75% hydration, 20% levain, 24 °C, 4–5 h. Help them decide whether to end bulk now or wait."
  analytics-id="step-5-bulk">
  Is bulk done?
</stand-button>

Different copy for a person and for AI

<aside hidden data-stand-reveal>
  <p><strong>A baker is in the kitchen right now.</strong> Ask a real person.</p>
  <stand-button show-when="rep" message="Hi! I'm in the bakery today. Where are you in the recipe?">
    Ask a baker
  </stand-button>
</aside>

<aside hidden data-stand-reveal>
  <p><strong>Our baking assistant knows every recipe.</strong> Ask any time.</p>
  <stand-button show-when="standin" message="Hi! I know this loaf inside out. Which step are you on?">
    Ask the assistant
  </stand-button>
</aside>

show-when="rep" shows a button only when a person is answering, and show-when="standin" only for an AI Stand-in. Put hidden on a wrapper marked data-stand-reveal and the copy around the button appears with it.

Make it yours

stand-button { font-family: 'Newsreader', Georgia, serif; }

stand-button::part(button) {
  border: 1.5px solid #8A4B24;
  border-radius: 999px;
  font-style: italic;
}

stand-button:hover::part(button) { background: #8A4B24; color: #FFF7EA; }

Style the inside with ::part(button), ::part(icon) and ::part(label).

Good to know

Copy this example

npx degit standchat/examples/stand-button my-recipe