Caffeine Management & Delivery Platform
How It Works
Confidential
information@caffevolvetech.com · October 2026
Plan my Day is an optional tool for planning a whole day of coffee at once. It runs in three stages, and this document covers all of them: the Planner, where the plan is made (Part 1), and Plan Check, which keeps the plan true as the real day unfolds (Part 2).
| Stage | Where | What happens |
|---|---|---|
| 1. Make the plan | The Planner (Plan my Day, from the profile screen) | The user lays out the day's drinks, shapes them until both ceilings hold, and saves the day as a Routine or as today's plan. |
| 2. Check at each brew | Plan Check, on Make a Drink at the device and in CaffevolveGo away | When a planned cup comes due, the rest of the day is re-solved against what the user has actually had, and the notice shows whether the day still lands under both ceilings. |
| 3. Adjust | Plan Check's expanded day, or the Planner | The user edits, protects or rebalances; the day re-solves on every change. Changes made during the day apply to today's plan only. |
Both parts run on one engine: the same caffeine model, the same two ceilings and the same Rebalance rule. The Planner is that engine with nothing yet had; Plan Check is the same engine with part of the day already had.
1.1 What the Planner is
Every other path in the platform resolves a single cup in the moment. The Planner works one level up: the user lays out an entire day's drinks in advance and shapes them together until the whole day sits inside their Caffeine Comfort Zone before the first cup is brewed. It is a planning tool, not a brew path: it commits nothing to the device and brews nothing itself. The platform advises; the user decides.
It is a Resident User feature. A plan belongs to a saved profile, draws on that profile's ceilings, decay rate and history, and never appears during a guest brew. The Planner is reached from the Plan my Day button on the profile screen (PS1a), which, like Home and Away, stays disabled until tonight's bedtime is declared.
1.2 The question it answers, and the projection
A single Brew Session recommends the cup that keeps the user inside their Caffeine Comfort Zone right now, but it treats each cup as if it were the last of the day. The Planner asks the whole-day version: how the day's caffeine is spent across every drink planned. A day of caffeine is a budget spent against two boundaries at once.
The Planner projects the whole day, starting from what is already in the user's system, and reads two values from it:
Every change re-draws the curve and re-reads both values immediately. Because caffeine clears slowly, the day has a clean shape: spend earlier, when there are hours left to clear it, and taper toward evening. A late-afternoon or after-dinner cup becomes a deliberate choice, shown to fit both ceilings before it is brewed.
1.3 Building the day
Each drink is set by time (15-minute steps), place, type and size. What can be tuned follows the device:
The profile already records which workplaces are equipped, so the Planner offers the right controls without asking.
1.4 Protect and Rebalance
Protect, the star on each drink, holds a drink exactly as planned while the rest of the day is shaped around it. It is how the user names the cup they will not give up. Up to two drinks can be protected; none is protected by default, so there is always room left to rebalance.
Rebalance (which replaces the retired Fix it for me) adjusts every unprotected drink to bring the day under both ceilings, using the same gradual taper as Plan Check: away drinks size down first, latest first; device cups then share the remaining bedtime room, smoothed so that no cup is cut more than 15 points beyond the cup before it; both ceilings are checked exactly. No drink is ever removed. The result is applied to the plan at once: each changed drink is outlined and carries a back arrow that returns it to its earlier setting, and the user can keep adjusting by hand from there.
When even every unprotected drink at its minimum cannot clear the day, the Planner says so and names what would have to give: unprotecting a drink, moving it earlier, or taking it decaf.
A user who wants most of their caffeine in the morning protects the morning cups or makes small edits; otherwise the taper spreads the cuts across the day.
1.5 Routines and one-off days
A shaped day can be saved as a Routine and set to repeat on any chosen days: every day, weekdays, weekends, or any mix. On a day a Routine covers, it becomes that day's active plan automatically, projected fresh against today's clock and the user's real state before any brewing begins.
Days that don't repeat are handled just as directly. The Planner opens on a front door, not on the Routine. The user can start from a blank day, from today's Routine as an editable copy, from another Routine, or from a recent day. Two commit actions sit side by side:
To pick today's plan, the platform checks today's committed one-off first, then the Routine for today's weekday. A Routine suits the day that repeats, such as a day at the office; a one-off suits the day that doesn't, such as late meetings or an end-of-day push. Delete routine removes a saved Routine but keeps today's drinks.
Edits and Rebalance made during the day, through Plan Check, change today's plan only. The saved Routine is never touched unless the user saves the change from the Planner.
1.6 Starting from the real state
The projection always starts from what is actually in the user's system. Opened mid-day, the Planner folds the drinks already had into a locked baseline drawn from the device log and any logged drinks. Every plan also accounts for what is still in the user's system from the night before, including a plan made the evening ahead.
1.7 Why the Planner depends on the rest of the platform
Planning a day is a solvable problem only once four capabilities exist: a device that blends to order, so each drink is composable rather than a fixed dose; the Caffeine Comfort Zone, whose ceilings give the projection its targets; the personal Caffeine Decay Rate, so two people drinking the same cup are shown landing in different places at bedtime; and a real-time residual picture from device brews and logged drinks, so a plan starts from what is truly in the system. Remove any one and the projection has no target, no accurate curve, or no true starting point.
1.8 Worked example: Diane's workday
Diane: Caffeine Decay Rate 4.5 h, bedtime 11:30 PM, Bedtime Ceiling 75 mg, Wake Hours Ceiling 490 mg. She plans four cups and protects her 11:00 drip. Each cup's strength follows her sub-profiles: the 11:00 falls in AM Focus (Medium) and the 2:15 in PM Deflate (Light); the French press and pour-over always brew at Medium.
| Time | Drink | As planned | After Rebalance |
|---|---|---|---|
| 7:30 AM | French press, 16 oz, home | 100% · 213.3 mg | 75% · 161.3 mg |
| 9:45 AM | Pour-over, 12 oz, office | 80% · 128.8 mg | 60% · 97.6 mg |
| 11:00 AM | Drip, 12 oz, office (protected) | 100% · 160.0 mg | 100% · 160.0 mg |
| 2:15 PM | Drip, 12 oz, office, Light | 100% · 148.2 mg | 65% · 97.7 mg |
| At bedtime (ceiling 75) | 94.5 mg, over | 74.1 mg | |
| Peak (ceiling 490) | 403.4 mg | 347.3 mg |
If Diane wants her French press at full strength, she protects it as well. Rebalance then takes the 9:45 to 50% and the 2:15 to 60%, landing at 74.9 mg at bedtime with a 364.8 mg peak. All figures were produced by the independent engine with each cup at its resolved strength, and the Caffevolve prototype's Planner gives the same result.
2.1 What Plan Check is for
Plan Check keeps a Plan my Day plan honest: each time a planned cup comes due, it re-solves the rest of the day against what the user has actually had and shows whether the day still lands under both ceilings.
A plan is a forecast made in advance. The real day drifts: an extra cup, a café stop, a changed time. The notice closes that gap one cup at a time, at the moment it matters, instead of leaving the user to discover a bad night after the fact.
What it is meant to accomplish:
Every rule described here has been verified case by case against an independently built engine and against the published figures in the Blend Calculation Reference (Appendix).
2.2 Diane's test day
The examples in Part 2 use one of Diane's workdays, with every cup at Medium strength. She has almost no bedtime room on this day, so nearly any unplanned caffeine pushes her over.
| Time | Drink | Where | Size | Blend | Caffeine |
|---|---|---|---|---|---|
| 7:30 AM | French Press | Home | 16 oz | 100% | ~213 mg |
| 9:45 AM | Pour Over | Office | 12 oz | 80% | ~129 mg |
| 11:00 AM | Drip / Filter | Office | 12 oz | 100% | ~160 mg |
| 2:15 PM | Drip / Filter | Office | 12 oz | 40% | ~66 mg |
2.3 How the day is re-checked
Every change re-projects the whole day: every edit to a time, size or blend, every protect, every logged drink and every brew. Drinks already had are fixed as they were actually had; every planned drink still to come is recomputed, and both ceilings are checked. The day is always re-solved whole, never one cup at a time.
Rebalance for me follows the rule described in 1.4: drinks from places without a device size down first, the latest first, and device cups then share the remaining room in a gentle taper, so earlier cups keep more of their caffeine and the afternoon steps down gradually. Before offering Rebalance, Plan Check confirms that some rebalance can clear the day. When none can, because drinks already had or protected drinks hold too much caffeine, it says so instead of offering the button.
2.4 UX flow — the notice
The notice appears once, on the Make a Drink screen, and always offers exactly one next step for the state the day is in.
When it appears. A plan is active for a Resident User, and the user opens Make a Drink with a planned cup due within about 90 minutes. Make a Drink feeds every device brew path (BrewNow!, QuickBrew, Fresh Grounds Only), so the notice shows there and is not repeated on the screens that follow.
What it always shows, collapsed:
What it offers, by state:
| State of the day | Status pill | The notice offers |
|---|---|---|
| Under both ceilings, cup unchanged | On plan ✓ (green) | Nothing; the notice only informs |
| Over a ceiling, fixable | Off plan (red) | Rebalance for me |
| Over a ceiling, not fixable | Off plan (red) | "Can't get back under by adjusting the cups still to come. View plan to drop, shrink or move a drink." |
| Rebalanced, back under | Rebalanced ✓ (green) | Brew this cup + Confirm & Brew |
| Cup edited by the user, still under | Adjusted ✓ (green) | Brew this cup + Confirm & Brew |
The brew buttons appear only on a changed cup that is back under both ceilings; an over-ceiling day always goes through the revision first.
The two brew actions:
Why no brew button when on plan or over. On plan, the normal paths already deliver the planned cup. Over a ceiling, a one-tap brew would brew the cup that no longer fits; the revision comes first. The user can always brew anything through the normal paths.
After a brew, the cup becomes an actual, the clock moves on, and the next planned cup's notice takes over. After the last planned cup, the notice reads "Day complete" with the final bedtime figure.
2.5 UX flow — the expanded day
View plan opens every cup still to come as an editable card; each change re-solves the day at once. It is forward-looking only: cups already had are not listed.
Each drink card:
| Element | What it does |
|---|---|
| Header | Time and drink, caffeine in mg, badges: Now, Protected, Away, Added |
| Time | – / + stepper in 15-minute steps; limited to now through bedtime (buttons grey out at the limits) |
| Size | Device: 8 / 10 / 12 / 16 / 20 oz stepper. Away: Small / Medium / Large |
| Strength | Device only: shown on the card (Light / Medium / Strong) and set in the Planner's drink editor, where Auto takes the sub-profile covering the drink's time. Fresh Grounds Only drinks are always Medium |
| Caf | Device only: blend slider, 0–100% in 5% steps; the card's mg updates while dragging, the day re-solves on release |
| Protect | Excludes the cup from Rebalance; its settings stay exactly as set |
| Remove | Drops the cup from the day (the cup due now cannot be removed) |
| ↺ back arrow | Returns the card's time, size and blend to its plan; greyed out while the card matches its plan |
Below the cards: + Add a drink (15-minute time slots from now to bedtime, device or away), then the two ceiling figures side by side: projected bedtime residual against the 75 mg ceiling and wake-hours peak against the 490 mg ceiling, each green or red. A short note underneath says either "You're under both ceilings" or points to Rebalance.
What "plan" means for the back arrow. Tapping Brew saves the rest of the day as the new plan. The arrow then returns a card to where it stood at the last brew, not to the morning plan. Rationale: once the user brews, the settings they chose for later cups are what they agreed to, so the arrow never surprises them. The morning plan is still one step away through Reset this day or Start over.
Useful side effect. After Rebalance, the arrow lights up on every cup that Rebalance changed, so the user can see what moved and undo it one cup at a time. Undoing may put the day back over a ceiling; the pills turn red again and Rebalance returns.
Brew confirmation. A short confirmation spells out the full brew: "Brewed — Drip / Filter · 12 oz · 70% caf · 112 mg".
2.6 The real day: matching brews, missed cups, bedtime
The plan meets the real day through five rules. Each cup on the plan is in one of six states: planned (still to come, adjustable), brewed, missed (its window closed unbrewed; still counted), had elsewhere, skipped (removed by the user's answer) or dropped (removed automatically when cups in a row are missed). Unplanned brews and logged drinks are extras.
Plan Check's notice shows the planned cup due within 90 minutes of now; when none is due, it shows the next planned cup without brew buttons.
| Test (Diane unless noted) | What happened | Result |
|---|---|---|
| Early brew, overlapping windows | Brew at 10:30 | Counted as the 11:00 (30 min away, nearer than 9:45) |
| Late brew | 11:00 cup brewed at 12:00 | Counted as the 11:00; bedtime rises to 78.7 mg, off plan |
| Tie (Test C) | Brew at 9:45, 75 min from both 8:30 and 11:00 | Counted as the earlier 8:30 |
| Replace | 4:00 PM brew, after both later windows closed | 11:00 dropped (two cups in a row passed); asked about the 2:15 only; replaced it; 56.4 mg |
| Extra | Same brew, answered "It's an extra" | 11:00 dropped; 4:00 added as an extra, 2:15 stays missed; 72.4 mg at bedtime |
| Missed, skipped | 11:00 unbrewed; at 1:00 PM "Skipped it" | Removed; bedtime falls from 74.8 to 51.5 mg |
| Missed, had elsewhere / unanswered | Same, answered or not | Still counted; 74.8 mg |
| Bedtime later / earlier | 12:30 AM / 10:30 PM declared after the 11:00 | 64.1 mg on plan / 87.2 mg off plan |
| Away log (Test B) | Drip logged at 8:30 | Counted as the planned 8:00 café cup |
| No plan left | 6:00 PM brew after every cup | Extra, no question |
| Early next cup | 1:00 PM brew, 11:00 already missed | Counted as the 2:15 (inside its window); the 11:00 is a single miss, so it stays counted until answered; 72.0 mg |
| Away log matches a device cup (Test B) | Drip 110 mg logged in Go at 11:30; the 11:00 was a device cup | Replaces the 11:00 at 110 mg, no double count; day goes red (64.9 mg vs her 50 mg ceiling, past what Rebalance can fix) |
| Away log, replace question | Latte 77 mg logged at 4:00 PM, 11:00 and 2:15 both passed | 11:00 dropped; asked about the 2:15; replaced it; 59.7 mg |
| Three in a row | Only the 7:30 brewed; app opened at 4:00 PM, "Skipped it" | 9:45 and 11:00 dropped; asked about the 2:15 only; skipped; 20.0 mg |
| Not in a row | 9:45 missed, 11:00 brewed, 2:15 missed; opened at 4:00 PM | Nothing dropped (the 11:00 breaks the run); asks about the 9:45 first; 74.8 mg |
a 1:00 PM brew inside the 2:15 window is matched to the 2:15 automatically while the 11:00 sits missed. Because the 11:00 is a single miss, it stays counted until Diane answers, so if she skipped it the error is on the safe side and one tap corrects it. Rule 5 covers the case where several cups in a row pass.
2.7 Unplanned drinks
Warn before an unplanned drink is committed to wherever possible; fall back to a notice at logging when it was not. The effect on the plan is the same however the drink enters the record.
The rule. Any unplanned drink that puts the day over a ceiling while planned cups remain later in the day triggers one simple notice: "Your plan needs revision to stay under your ceilings." No projected figures and no named cup; the adjusted view comes with the next planned cup's notice.
| When the platform learns of it | What the user sees |
|---|---|
| Before committing, in OAS (weighing what to order away) | Each option marked: fits your plan, or plan would need revision. The user can still choose either |
| Before committing, on the device (an unplanned brew) | The same warning in the pre-brew configuration, before Brew, while size and blend can still change |
| Logged after the fact, ECEr (CaffevolveGo, or Had something else? on the device) | Over a ceiling with planned cups ahead: the notice. Still under: "Logged — You're still on plan." No planned cups left: "Logged" only |
| Caught by the ECEp check-in (twice per wake cycle, before a brew or OAS session) | Same rule as ECEr. When the session that follows is the brew of a planned cup, the screens avoid showing the notice and the red Plan Check notice back to back |
| Never logged | Nothing. The platform cannot know; that day's advice rests on an incomplete record |
At the next planned cup. The Plan Check notice opens red with Rebalance for me offered, never applied automatically.
When it matters. Only when the drink uses up more room than the plan left under either ceiling. Room is spent very differently under each:
Plan my Day tends to produce plans that finish just under the Bedtime Ceiling, because the fix lands the day right at the limit, so many users will run Diane's thin margin.
ECEp's role. The ECEp check-in looks backward: it asks for drinks already had but not logged, in two 6-hour windows per wake cycle. Window 1 matters to a plan only if the plan was made the previous day or came from a saved Routine. Window 2 can affect any plan, including one made that morning.
All 66 test scenarios across five profiles, including 17 day-event sequences, give the same result in the Plan Check model and in an independently built engine, and both reproduce the Blend Calculation Reference's published figures to within its own rounding.
A.1 How it was checked