> ## Documentation Index
> Fetch the complete documentation index at: https://brewgravity.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Brew sessions

> Turning a recipe into a brew day you can actually work through.

A brew session is one attempt at a recipe. It holds the checklist you work
through on the day and the readings you take afterwards, and it keeps a record
of what really happened as opposed to what you planned.

## Starting one

Press **Brew** on any recipe. Brewgravity immediately:

<Steps>
  <Step title="Pins the recipe as it is right now">
    A [recipe version](/docs/concepts) is saved and attached to the session. Everything
    the session shows you comes from that snapshot, so later edits to the recipe
    cannot change what this brew day says. If nothing has changed since your last
    brew, the existing version is reused rather than duplicated.
  </Step>

  <Step title="Creates the session">
    Named after the recipe, dated today, with status **planning**.
  </Step>

  <Step title="Generates the brew day checklist">
    Built from the recipe, not from a fixed list: one step per mash rest, one
    per hop addition, and the lauter step your mash type actually calls for.
  </Step>

  <Step title="Opens it">
    You land on the session, ready to edit before brew day or start ticking now.
  </Step>
</Steps>

One recipe can have as many sessions as you like. Brewing the same beer four
times gives you four sessions to compare, and editing the recipe afterwards
does not rewrite any of them — each holds its own snapshot of what it brewed.
The session header shows which version it was brewed from.

To brew an earlier version again exactly as it was, open the recipe's
**History** tab and press the flask icon on that version. The live recipe is
left alone.

## The Brew Day tab

The checklist is generated from the recipe the session is pinned to:

| Phase       | Steps                                                                             |
| ----------- | --------------------------------------------------------------------------------- |
| **Prep**    | Gather ingredients and equipment; treat your water, if the recipe has salts       |
| **Mash**    | Heat strike water, mash in, one step per mash rest, vorlauf, then sparge or drain |
| **Boil**    | Bring to boil, one step per hop addition, kettle additions, flame out, whirlpool  |
| **Cool**    | Chill wort, transfer to fermenter, take OG reading                                |
| **Ferment** | Pitch yeast, seal and attach airlock, dry hop                                     |
| **Other**   | Clean up                                                                          |

Steps that the recipe does not call for never appear. A recipe with no dry hops
gets no dry hop step; an extract recipe gets no mash at all; and a full-volume
mash gets **Drain the mash** instead of **Sparge**, because there is no sparge
to do.

Every step opens with the numbers for that step, computed live from the pinned
recipe — the strike temperature and volume, the hops in that addition, the
pre-boil target. Rename a step and it keeps them.

Steps are still a starting point, not a contract: add, edit, and delete them to
match how you brew. **Rebuild from recipe**, in the checklist's ⋯ menu, throws
the list away and generates it again — useful if you corrected the recipe's mash
type after starting the session. It replaces every step, including ones you
added or ticked off.

What it rebuilds *from* depends on how far along the session is. While the
session is still **planning** it has brewed nothing, so the rebuild re-reads the
recipe as it stands now and re-pins the session to it. Once you have pressed
Start Brew Day, the pinned version is the record of what you are brewing and
does not move: the rebuild follows that pinned recipe, not later edits. To brew
a corrected recipe, start a fresh session from it.

### Mash type

The **Mash type** on the recipe decides what the mash steps say and what the
strike temperature comes out at:

<ResponseField name="Sparge" type="default">
  Mash at a set thickness — 2.6 L/kg unless you change it — then rinse the grain
  with the rest of the water.
</ResponseField>

<ResponseField name="Full volume" type="no-sparge / BIAB">
  Every litre goes in the tun at once. The mash runs much thinner, typically 4–6
  L/kg, and a thinner mash loses less heat to the grain — so the strike
  temperature is several degrees **lower** than the same beer sparged. There is
  no sparge step.
</ResponseField>

Set it, along with the mash thickness and your grain temperature, in the recipe
editor's **Mash** section. Every water number in the app — the recipe panel, the
brew day steps, the reference panel, what the assistant tells you — comes from
that one setting.

### Step timers

Every step can carry its own countdown, started and stopped on the step itself.
The generated checklist puts one wherever the recipe implies a duration — each
mash rest gets its rest time, flame out gets the boil length, a whirlpool gets
its steep — and **Add timer** puts one on any other step. Click the readout to
change the duration or remove it.

A step timer is **separate from the brew day clock**. The clock at the top of a
session measures the whole day, from the first step you ticked off; a step timer
measures one rest. Starting, pausing or resetting a step timer does not touch
the clock, and ticking a step off does not touch its timer.

Timers are stored on the step, not held in the page, so one keeps running
through a reload, a switch to the Fermentation tab, a walk to another screen,
and the phone locking in your pocket. A sixty-minute mash does not care whether
the app is open, so neither does its timer: come back after an hour and it says
Done, not fifty-nine minutes remaining.

When one finishes it chimes, turns green and pulses, and the countdown is
mirrored next to the brew day clock so you can read it without scrolling to the
step that owns it. If you granted notification permission, a finished timer also
raises a system notification when the tab is in the background.

<Tip>
  A timer keeps counting past zero, and the readout tells you how long ago it
  finished. That is deliberate: knowing the mash has been sitting eight minutes
  over is more useful than a timer that stops telling you anything at zero.
</Tip>

### Tracking progress

Tick steps off as you complete them; Brewgravity records when each one was done,
and shows how long it was since the previous step — so *how long did it take me
to reach a boil* is answered by the ticks you were making anyway.

The recorded time is editable. A step gets ticked off when you get back to your
phone, not when it actually finished, so correct it to what really happened.

### Notes

Two places to write things down, both saved as you type:

<ResponseField name="Step notes" type="per step">
  **Add note** under any step. What actually happened here — the temperature you
  really hit, the volume you really collected.
</ResponseField>

<ResponseField name="Scratchpad" type="whole session">
  The **Notes** tab of the reference panel, for the whole brew day. **Stamp
  time** inserts the current clock time, so noting *boil on at 11:42* is one tap
  and a sentence.
</ResponseField>

## The reference panel

Brew day is mostly reading the recipe you are brewing. **Recipe & notes** opens
a panel beside the checklist holding the pinned recipe — targets, the water
plan, the grain bill, the hop schedule, the mash schedule — and the brew day
scratchpad, on its second tab.

It shares its space with the assistant, so the two take turns: opening
BrewAgent puts the panel away, and opening the panel closes BrewAgent. On a
phone it is a sheet rather than a column.

## Working through the day

Until you press **Start Brew Day**, the checklist is dimmed and inert — a
session in *planning* is for editing, not ticking. Pressing it moves the session
to **brewing** and wakes the checklist up.

When you are ready to pitch, the **Ready to ferment?** panel at the bottom of
the tab takes your measured OG in SG, Plato, or Brix. Entering it and pressing
**Start Fermentation**:

* moves the session to **fermenting**,
* stamps the moment fermentation started,
* and drops your OG onto the fermentation chart as a labelled point.

Later, on the Fermentation tab, entering your final gravity and pressing
**Complete** does the mirror image: status **complete**, a completion timestamp,
and the FG pinned to the end of the curve.

<Note>
  You can also set status directly from the dropdown in the session header —
  useful for back-dating a brew you are entering after the fact, or for
  correcting a mis-click. The buttons are the guided path, not the only one.
</Note>

## What the session records

<ResponseField name="Brew date" type="date">
  Editable — set it ahead of time to plan, or back-date a brew you are entering
  after the fact.
</ResponseField>

<ResponseField name="Actual OG" type="gravity">
  What you measured, against what the recipe estimated. The gap between the two
  is your real brewhouse efficiency talking.
</ResponseField>

<ResponseField name="Actual FG" type="gravity">
  Measured final gravity, which gives you true ABV and true attenuation for that
  yeast on your system.
</ResponseField>

<ResponseField name="Notes" type="text">
  The scratchpad, and everything the fields do not cover. The scorched pot, the
  stuck sparge, the hop bag that split.
</ResponseField>

<ResponseField name="Step notes and times" type="per step">
  What happened at each step, and when it was ticked off.
</ResponseField>

Once both gravities are in, the session summary shows measured ABV, apparent
attenuation, and how many days fermentation actually took.

## Status at a glance

<CardGroup cols={4}>
  <Card title="Planning" icon="calendar">
    Created, not brewed yet.
  </Card>

  <Card title="Brewing" icon="fire">
    Brew day is happening.
  </Card>

  <Card title="Fermenting" icon="flask">
    Yeast is pitched — start logging.
  </Card>

  <Card title="Complete" icon="check">
    Packaged and done.
  </Card>
</CardGroup>

Status sorts your session list and tells you at a glance which beers are
currently working.

## Next

Once the yeast is in, the [Fermentation tab](/docs/guides/fermentation) is where the
session spends the next two weeks.
