Core Workflow & Architecture
BrewTinker is a local-first coffee brewing log and analysis tool for iOS. It does not try to be a bloated coffee encyclopedia or a social check-in feed. Its sole mission is: to turn every brew into data you can learn from, ensuring every future adjustment has clear evidence.
Core Philosophy: The Next Cup Closed Loop
The most common frustration in specialty coffee brewing is: "You brewed an incredible cup last week, but this week you can't repeat it because the grind, ratio, water temperature, time, and bean age are already fuzzy; or you knew the last cup had harsh bitterness, but forgot what to change."
BrewTinker is built around the Next Cup Closed Loop in 4 distinct steps:
- Structured Parameter Capture: Record bean name, origin, process, roast date, grinder setting, temperature, ratio, pour stages, TDS, and sensory notes in one streamlined save.
- Controlled Variable Tagging: Tag test variables (such as "Grind +1.5 clicks" or "Temp 90°C test") tied to a baseline record.
- Next Adjustment Memo: Write down what to adjust next while tasting. When brewing this bean again, the memo is pinned to the top.
- 1-Tap Brew Again Diff: Carry previous parameters directly into a new session. On the save screen, BrewTinker automatically highlights what changed this time.
Three Core Tabs Architecture
The UI is strictly organized around three bottom tabs. Settings is tucked away in the top-right corner of Home to prevent accidental interruptions while brewing.
┌──────────────────────────────────────────────────────────┐
│ [ Home ] [ Brew ] [ Log ] │
│ Trends & Today Status Focused Session Workspace Evidence & Export │
└──────────────────────────────────────────────────────────┘1. Home · Status, Trends & Insights
- 7-Day Rating Distribution: Bar chart visualizing recent brew quality and averages to quickly identify standout cups.
- Today's Status: Shows daily brew count, coffee bean grams used, and active experiment alerts.
- Bean Freshness & Inventory: Tracks days off roast and remaining inventory with optional auto-decrement upon saving.
- Top-Right Settings: Minimalist access to grinder/dripper profiles, BLE device management, Pro status, and legal disclosures.
2. Brew · Focused Single-Screen Workspace
- All-in-One Dashboard: Dose, water volume, temperature, ratio, and stopwatch timer on a single screen without page flips.
- Guided Brew Presets: Built-in templates for V60, Hario Switch, AeroPress, French Press, and Espresso.
- Dynamic Pour Targets: Automatically recalculates bloom, first pour, and final pour targets when you change the dose or ratio.
- Haptic Feedback: Crisp Taptic Engine vibrations when transitioning between pouring steps.
- Optional BLE Hardware: Connect compatible Bluetooth scales for real-time weight. Flow-rate curves are derived locally from timestamped weight series.
3. Log · Dense History, Filtering & Evidence
- Multi-Dimensional Filters: Instantly filter by bean, dripper, brew method, rating, or experiment tag.
- Comprehensive Sensory Fields: Preserves grind setting, extraction time, TDS percentage, Extraction Yield (EY), flavor wheel tags, and notes.
- Brew Again Parameter Inheritance: Clone past sessions as a baseline and automatically compute parameter diffs.
- Open Range Export: Export all records, the current filtered view, or a custom date range.
Data Dictionary
Exported CSV files adhere to a clean schema: one row per brew, one column per parameter.
| CSV Header | Data Type | Description | Example |
|---|---|---|---|
timestamp | ISO-8601 | Brew completion timestamp | 2026-08-22T08:30:00Z |
bean_name | String | Coffee bean name | Yirgacheffe Natural G1 |
origin | String | Origin / Estate | Ethiopia |
roast_level | String | Roast degree | Light |
method | String | Dripper / Method | Hario V60 |
grinder | String | Grinder model & setting | Comandante C40 #18.5 |
dose_g | Decimal | Ground coffee dose (g) | 15.0 |
water_g | Decimal | Total water poured (g) | 250.0 |
ratio | String / Decimal | Brew ratio | 1:16.7 |
temp_c | Integer | Water temperature (°C) | 90 |
time_sec | Integer | Total extraction time (s) | 134 |
rating | Decimal | Overall score (0.0 ~ 5.0) | 4.8 |
tds_pct | Decimal | Refractometer TDS (%) | 1.38 |
ey_pct | Decimal | Extraction Yield (%) | 19.2 |
experiment_var | String | Controlled variable tag | Grind +1.5 clicks |
next_adjustment | String | Memo for the next cup | Temp 90C perfect, keep grind |
Export Formats & Portability
BrewTinker embraces total data ownership with 3 open formats:
- CSV: Tabular text format ready for Microsoft Excel, Apple Numbers, R, or Python (pandas) for multi-variable regression.
- JSON: Full hierarchical backup preserving exact timestamps and curve points, ready for seamless re-import.
- Plain TXT: Human-readable text format for note-taking apps or quick sharing in messages.
(Note: Fragile PDF export has been removed to guarantee data integrity and eliminate rendering anomalies.)