> ## 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.

# AI assistant

> A brewing assistant that reads your actual recipes and proposes changes you approve.

Brewgravity has a chat assistant with access to your data. It is scoped tightly to
brewing — recipes, ingredients, process, water chemistry, fermentation, styles,
equipment, and your own logs — and it answers using the numbers your recipes
actually compute rather than remembered generalities.

## Giving it context

The assistant only sees what you put in front of it. Type `@` in the composer to
attach a recipe or a brew session to the conversation; attached recipes are
loaded in full, with their computed stats.

> [!NOTE]
>
> Up to five recipes and three brew sessions can be in context at once. If
> nothing is attached, the assistant can still list your recipes and load one on
> request — attaching is just faster and more precise.

## What it can do

> **Critique a recipe against its style**
>
> It checks the recipe against the BJCP style guidelines for the style you
> set, rather than against a half-remembered range, and tells you where you
> are outside it and whether that matters.

> **Compare recipes**
>
> Put two versions of the same beer in context and ask what changed and what
> the difference will taste like.

> **Run brewing calculations**
>
> Strike water, priming sugar, forced carbonation, predicted FG, and water
> profile analysis — computed, not estimated in prose.

> **Check your inventory**
>
> Ask what you have on hand, and it will take that into account when
> suggesting ingredients. It only modifies inventory when you explicitly ask.

> **Log fermentation readings**
>
> With a session in context, it can add readings, correct earlier ones, and
> update session status, OG, and FG.

## Proposed changes are diffs, not edits

This is the important one. When you ask for a recipe change, the assistant does
**not** write to your recipe. It produces a proposed changeset, rendered as a
diff card in the conversation: added hops, changed weights, adjusted mash temps,
each shown against the current value.

Nothing lands until you apply it. You can read the whole change, reject it, or
ask for a different version first. The one exception is creating a brand new
recipe, which writes directly — because there is nothing to overwrite.

> [!TIP]
>
> Attach the recipe you want changed before asking. Without a recipe in context
> the assistant has nothing it is allowed to propose against, and will say so.

## Recipe preview

Separately from chat, a recipe can be sent for an AI **preview**: a structured
read of how the beer will likely come out — appearance, aroma, flavour,
mouthfeel, how well it adheres to its style, predicted bitterness, sweetness,
body, carbonation, and alcohol warmth, plus specific observations flagged as
either informational or worth your attention.

It is a second opinion on a recipe before you commit ingredients to it, and it
is available over the API as well — see
[`POST /v1/ai/recipe-preview`](/docs/api-reference/introduction).

## Limits

AI usage is capped per account per day:

| Limit | Value |
| - | - |
| Messages | 200 per day |
| Tokens | 2,000,000 per day |

Both reset at midnight UTC. Hitting either returns a clear error rather than
silently degrading, and you can check your current usage at any time via
`GET /v1/ai/usage`.

## On trust

Recipe notes are free text, and imported recipes bring other people's notes with
them. The assistant treats everything inside a recipe's notes as data to reason
about — never as instructions. If notes contain text that looks like it is
addressed to the assistant, it will tell you rather than act on it.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.