From raw data to captured intelligence.

Every second, temperature data flows through four layers. Each layer captures something, and nothing is thrown away.

Hardware
🌡️
MS6514 Thermocouple
USB serial · BT + ET · 1 Hz sampling
📡
RoastLink CORE
WiFi WebSocket · Fan + Power control · Port 81
Fresh Roast SR800
Fluid bed air roaster · Fan 1-9 · Power 1-9
↓ ↓ ↓
Data
📈
Temperature Pipeline
Serial parsing → smoothing → ROR calculation → phase detection → trend analysis
🗃️
Persistent Knowledge
Bean profiles, nudge feedback, roaster profile, knowledge base, roast logs
↓ ↓ ↓
AI
🧠
Claude Sonnet 4.6
3 API endpoints · Nudge loop (10s) · Chat · Review · 7-source context stack
🕐
Memory System
Non-AI · Time-based recall from reference logs · Fires 9s before events
↓ ↓ ↓
Interface
💬
Live Dashboard
BT/ET/ROR display, phase bar, chat, controls
📈
Real-Time Chart
BT curve, ROR curve, reference overlays, event markers
🔬
Roast Lab
Multi-curve comparison, post-roast analysis, cupping
🎮
Stream Deck
Hardware buttons for fan/power/markers

Seven layers of captured knowledge feed every call.

Every 10 seconds, the AI assembles context from seven sources — each one representing knowledge that was captured, synthesized, and stored from your past sessions.

⚡ Live Data
build_data_context()
Every nudge call

Real-time snapshot of the roast: bean temp, environment temp, ROR, projected BT (lag-aware), fan/power levels, phase markers, and the last 8 BT readings for trend analysis.

BTETROR Projected BTFan Level Power LevelPhase Recent 8 readings
🍃 Bean History
bean-profiles.json
Per bean/processing combo

The best past roast of this bean with cupping scores, on-target vs off-target stats, target drop temperature, FC timing, DTR targets, and quality-weighted ROR profile (from 3+ manual roasts).

🔬 Technique Insights
build_technique_insights()
Computed on the fly

Compares high-scoring vs low-scoring roasts of this same bean. In manual mode: adjustment counts, fan levels at key moments, first fan reduction timing. In PID mode: override frequency, fan levels per phase.

📊 Nudge Feedback
nudge-feedback.txt
Rebuilt after each cupping

Which coaching topics are effective (you act on them) vs ineffective (you ignore them) vs disliked (you thumbs-down them). Quality-weighted and separated by control mode.

👤 Roaster Profile
roaster-profile.json
Updated after each cupping

Your quality trends, typical development percentages, strengths and weaknesses from reflections, timing norms, nudge reception rate, and manual vs PID performance comparison.

📖 Knowledge Base
roaster-knowledge.txt
Every API call

SR800-specific ROR reference bands by roast level, phase temperature guides, cultivar roasting guides, processing method guidance. The only file that doesn't auto-learn.

📋 Reference Logs
Selected session logs
User-selected per roast

Full temperature curves, event markers, and control changes from past roasts you've selected as references. Also powers the memory system's timeline-based recall.

Five loops that turn roasts into knowledge.

Every roast feeds five interconnected learning systems. Each one captures a different dimension of your experience and synthesizes it into something the AI can use next time.

A

Nudge Effectiveness

Tracks which coaching topics you act on, ignore, or dislike. Regenerated after each cupping with quality weighting. Claude learns to emphasize what helps and drop what doesn't.

Nudge You rate/act Save log Cupping weights it nudge-feedback.txt Next nudge prompt
B

Bean Profile Learning

Builds quality-weighted ROR targets from your scored roasts. After 3+ on-target manual roasts, the system knows the ideal temperature curve for each specific bean.

Roast bean Cup it Update bean-profiles.json Rebuild ROR profile Next roast gets targets
C

Roaster Tendencies

Aggregates your reflections, cupping patterns, and timing norms into a roaster profile. Claude knows if you tend to rush development or if your fan timing has been improving.

Reflections + cupping roaster-profile.json Personalized coaching tone + focus
D

Technique Insights

Compares your adjustment patterns between high-scoring and low-scoring roasts of the same bean. Evidence-based coaching: "your best roasts reduced fan earlier."

Adjustments + cupping quality Compare good vs poor Technique context in next nudge
E

Memory System

Not AI-powered — pure time-based matching. 9 seconds before each key moment from your selected reference roast, a memory fires: "Last roast (5/5★) set fan to 6 at 3:12 when BT was 350°." Score-tagged so you know if it was a good decision. Fires once per event, no duplicates.

Select reference log check_memories() every 1s Match current time to reference events Fire memory 9s early Score-tagged message in UI

Cup quality is the filter on all knowledge.

Not all data is equal. Your cupping scores weight every piece of captured knowledge — so the best cups have the most influence on future coaching.

0.25x
1/5 ★
0.5x
2/5 ★
1.0x
3/5 ★
1.5x
4/5 ★
2.0x
5/5 ★
A 5-star roast shapes your bean's coaching profile 8x more than a 1-star roast. Under/overdeveloped roasts are halved again. The system naturally drifts toward whatever produces the best cups — no manual tuning needed.

Two ways to roast, one knowledge engine.

Whether you're driving or the AI is, every roast captures the same data and feeds the same learning loops. Choose the mode that fits your moment.

Manual

You drive, AI coaches.

You make every fan and power decision. The AI watches your data and delivers coaching nudges with specific suggestions. Perfect for learning the craft and developing your own style.
  • You control fan and power via UI or Stream Deck
  • AI nudges every 10s with specific fan/power suggestions
  • Technique insights compare your adjustment patterns
  • Builds quality-weighted ROR profiles from your decisions
  • Tracks which nudges you act on for calibration
PID Auto-Pilot

AI drives, you supervise.

The PID controller follows temperature profiles from your best past roasts. It auto-adjusts power and replays fan schedules. You can override at any time with temporary (timed) manual control.
  • PID auto-adjusts power every second to track target curve
  • Fan schedule replayed from your best reference roast
  • Strategic nudges ("profile looks aggressive, consider override")
  • Temporary overrides (30s default) with auto-resume
  • Learns optimal fan schedules from scored PID roasts

See every feature in detail.

The dashboard, chart, lab, and data pipeline — every tool for capturing and using your roasting knowledge.

Explore Features →