{% extends 'base.html' %} {% block title %}History — Brew Log{% endblock %} {% block content %}

History

How every brew has gone, and what it turned out like.

Active beers Brew process
Total brews
{{ stats.total_runs }}
{{ stats.completed }} finished · {{ stats.active }} active
Average ABV
{{ '%.2f' % stats.avg_abv }}%
{% if stats.abv_counted < stats.abv_total %} across {{ stats.abv_counted }} of {{ stats.abv_total }} finished brews {% else %} across finished brews {% endif %}
Strongest
{% if stats.best %}{{ '%.2f' % stats.best.abv }}%{% else %}—{% endif %}
{% if stats.best %}{{ stats.best.name }}{% else %}—{% endif %}
Lightest
{% if stats.worst %}{{ '%.2f' % stats.worst.abv }}%{% else %}—{% endif %}
{% if stats.worst %}{{ stats.worst.name }}{% else %}—{% endif %}

Alcohol by brew

Standard formula (OG − FG) × 131.25

Brews over time

Runs started per month (active runs counted at their first reading)
{% if outliers %}

Readings worth a second look

{{ outliers | length }} outside the usual hydrometer range
{% for row in outliers %} {% endfor %}
Run Name Date Reading CommentNote
{{ row.beer_run_id }} {{ row.name }} {{ row.date or '—' }} {{ row.sg }} {{ row.comment or '—' }}
{% endif %}

Every brew

{{ summaries | length }} runs
{% for run in summaries %} {% endfor %}
Run Name StatusStat OG FG Drop ABV Legacy FinishedDone CommentNote
{{ run.beer_run_id }} {{ run.canonical_name }} {% if run.active %} Active {% else %} Finished {% endif %} {{ run.og_points or '—' }} {{ run.fg_points or '—' }} {{ run.drop_points if run.drop_points is not none else '—' }} {% if run.abv is not none %}{{ '%.2f' % run.abv }}% {% elif run.projected_abv is not none %}{{ '%.2f' % run.projected_abv }}%* {% else %}—{% endif %} {{ run.legacy_abv if run.legacy_abv is not none else '—' }} {{ run.final_date or '—' }} {% if run.comments %}{{ run.comments[-1] }}{% else %}—{% endif %} Open

Standard vs legacy alcohol figures

The old app used (max − min) ÷ 7.36 + 0.5, which is not a recognised formula
{% for row in abv_rows %} {% endfor %}
Run Name Standard ABVStd Legacy ABVOld Overstated byOver FinishedDone
{{ row.beer_run_id }} {{ row.name }} {{ '%.2f' % row.abv }}% {{ '%.2f' % row.legacy_abv }}% {% if row.delta > 0 %} +{{ '%.2f' % row.delta }} {% else %} {{ '%.2f' % row.delta }} {% endif %} {{ row.final_date or '—' }}
{% endblock %}