LastSip helps you find the latest time you can safely consume caffeine without disrupting your sleep. It models how caffeine is absorbed and metabolized in your body, using a 45-minute ramp-up period followed by exponential decay based on your selected metabolism speed (a.k.a. caffeine sensitivity).
We work backwards from your bedtime to calculate when your caffeine level would fall below your personalized sleep-safe threshold.
Your Caffeine Sensitivity setting affects how long caffeine remains active in your system. It's a proxy for how quickly (or slowly) your body metabolizes caffeine.
Behind the scenes, this slider adjusts your caffeine half-life, which determines how quickly caffeine levels drop in your body after each drink.
Want a more personalized setting? [Personalize Now →]
By default, LastSip uses a 50mg caffeine threshold at bedtime. That means we’ll calculate the time your caffeine level will drop below 50mg before you go to sleep.
If you're more sensitive to caffeine or report issues like anxiety or insomnia, the app may enable Sleep Priority Mode, which lowers your threshold to 35mg for extra caution.
You can also manually enable Sleep Priority in Settings.
Already had caffeine earlier today? Tap “Add Earlier Drink” to input what you drank and when.
Each earlier entry goes through the same decay model—factoring in absorption time, your sensitivity, and the current time—to calculate whether you’re still under the bedtime threshold.
This helps prevent overlap or accidental “stacking” of caffeine levels throughout the day.
Don’t see your drink listed? Choose “Custom Beverage…” and enter the amount of caffeine in milligrams.
You can also browse our full caffeine database or search by brand/category to find the closest match.
If your drink pushes you above the sleep-safe threshold, LastSip will let you know—and may suggest a lighter alternative (like black tea or green tea) that still fits within your personal cutoff.
If no safe option exists, you’ll get a red light response.
Here's a simplified breakdown of the model: