{% extends "base.html" %} {% import "partials/icons.html" as icons %} {% import "partials/scan_input.html" as scan %} {% import "partials/location_search.html" as location %} {% block title %}Brewlog · Add{% endblock %} {% block head %} {% endblock %} {% block content %} {{ scan::scan_input("scan-extract-form", "scan-image", "$_extracting", "$_extractError", "Describe a coffee bag…", "Waiting for response…") }} {% include "partials/forms/scan_result_form.html" %} Manual Add {% include "partials/tab_bar.html" %} New Roaster Provide the core details and Brewlog will keep track of everything for you. Name* Country* City Homepage Save Roaster {% if roaster_options.is_empty() %} Add a roaster first Roasts need a roaster. Add a roaster above to enable this form. {% else %} New Roast Select a roaster and fill in the details. Roaster* {% for roaster in roaster_options %} {{ roaster.name }} {% endfor %} Roast Name* Origin* Region* Producer* Process* Tasting Notes* (comma or newline separated) Save Roast {% endif %} {% if roast_options.is_empty() %} Add a roast first Bags need a roast. Add a roaster and roast to enable this form. {% else %} New Bag Select a roast and enter the details. Roast* {% for roast in roast_options %} {{ roast.name }} {{ roast.roaster_name }} {% endfor %} Roast Date Amount (g)* Save Bag {% endif %} {% if bag_options.is_empty() %} Open a bag first Brews need an open bag of coffee. Add a bag to enable this form. {% else if grinder_options.is_empty() || brewer_options.is_empty() %} Add your gear first Brews need a grinder and brewer. Add your gear to enable this form. {% else %} New Brew Log a cup of coffee. Coffee Bag* {% for bag in bag_options %} {{ bag.roast_name }} {{ bag.roaster_name }} · {{ bag.remaining }} {% endfor %} Weight (g)* - + Grinder · Change Grinder* {% for grinder in grinder_options %} {{ grinder.label }} {% endfor %} Grind Setting* - + Brewer · Change Brewer* {% for brewer in brewer_options %} {{ brewer.label }} {% endfor %} Filter Paper None {% for fp in filter_paper_options %} {{ fp.label }} {% endfor %} Recipe Volume (ml)* - + Temp (°C)* - + Time - + Quick Notes Good Too Fast Too Slow Too Hot Under Extracted Over Extracted Log Brew {% endif %} New Gear Add brewing equipment to your collection. Category* Select a category Grinder Brewer Filter Paper Make* Model* Save Gear New Cafe Search for a nearby cafe or enter details manually. {{ location::location_search("$_cafeError") }} {{ icons::location("h-4 w-4 text-accent shrink-0") }} Back Name* City* Country* Website Latitude* Longitude* Save Cafe {% if roast_options.is_empty() || cafe_options.is_empty() %} Add a roast and cafe first Cups need both a roast and a cafe. Add them above to enable this form. {% else %} New Cup Record a coffee you had at a cafe. Coffee* {% for roast in roast_options %} {{ roast.name }} {{ roast.roaster_name }} {% endfor %} Cafe* {% for cafe in cafe_options %} {{ cafe.name }} {{ cafe.city }} {% endfor %} Save Cup {% endif %} {% endblock %}
Provide the core details and Brewlog will keep track of everything for you.
Roasts need a roaster. Add a roaster above to enable this form.
Select a roaster and fill in the details.
Bags need a roast. Add a roaster and roast to enable this form.
Select a roast and enter the details.
Brews need an open bag of coffee. Add a bag to enable this form.
Brews need a grinder and brewer. Add your gear to enable this form.
Log a cup of coffee.
Add brewing equipment to your collection.
Search for a nearby cafe or enter details manually.
Cups need both a roast and a cafe. Add them above to enable this form.
Record a coffee you had at a cafe.