iOS App · Estimates Only

Track drinks.
Understand your BAC.

Many BAC apps plot a curve over time, but still assume you finished each drink instantly and don't adjust for whether you've eaten. Calcohol models how alcohol is absorbed and eliminated minute by minute — including how long it takes you to finish a beer, wine, or cocktail, and whether food is slowing absorption — updating your estimate every minute.

Estimated BAC
0.042
Live estimate · updates every minute
< 0.04 0.04 – 0.08 ≥ 0.08

BAC changes over time — your estimate should too

What sets Calcohol apart from other drink-tracking apps is realism. Many Widmark-based apps do show a BAC curve over time, but they still treat each drink as if you downed it in one gulp and use the same absorption timing whether or not you've eaten. In practice, a 12 oz beer might take five minutes — or an hour — to finish, and food can double the time to peak. Calcohol runs a full pharmacokinetic simulation minute by minute, distributing alcohol intake across your actual drinking duration and adjusting for fed vs. empty stomach.

Typical BAC apps

A curve, but simplified

  • Show a BAC curve over time
  • Apply the Widmark formula once per drink
  • Assume each drink is consumed instantly
  • Don't adjust for whether you've eaten recently
Curve shown · instant drinks · fixed absorption
Calcohol

A living BAC curve

  • Spreads each drink across its actual consumption time
  • Adjusts absorption for fed vs. empty stomach (45–90 min to peak)
  • Applies elimination at 0.015 BAC/hr with realistic delay
  • Combines overlapping drinks into one timeline
  • Updates every minute — past, present, and projected
Now: 0.042 · Peak: 0.068 · Sober: ~1:30 AM

In practice, your BAC rises gradually as alcohol enters your bloodstream, plateaus, then falls over several hours. A typical app's curve can look plausible but still be wrong — especially when it assumes a full pint of beer hits your system the moment you log it, or uses the same absorption rate after dinner as on an empty stomach. Calcohol's model accounts for when you drank, how long you took to finish each drink, whether you'd eaten, and how earlier drinks are still being processed — giving you a far more accurate picture of where you actually are, not just a projected peak.

Simple logging, time-aware estimates

Log a drink in seconds and watch your BAC curve evolve — rising as alcohol absorbs, falling as your body metabolizes it.

🍺

Log every drink

Record ABV, size in ounces, drink type, timing, and whether you've eaten. Presets for beer, wine, shots, and cocktails get you started fast.

📈

Minute-by-minute chart

The core differentiator: a live BAC curve that models drink duration, fed vs. empty stomach absorption, and elimination over time. See where you are now, when you'll peak, and when you'll be back to zero.

🔒

Private by design

Your profile and drink history are stored locally on your device. Nothing is uploaded to a server.

How Calcohol estimates BAC

Many apps use the Widmark equation to plot a BAC curve over time, but still assume instant consumption and a fixed absorption rate regardless of food intake. Calcohol goes further with a full time-based simulation: BMI-adjusted body-water distribution, alcohol spread across drink duration, fed vs. empty stomach absorption timing, and first-order elimination. Those details are what make real-world estimates meaningfully more accurate.

1

Peak BAC

Widmark equation with BMI-adjusted distribution factor

2

Absorption

Linear rise over time, adjusted for food intake

3

Elimination

Constant rate with a short post-absorption delay

4

Sum

All drinks combined into a single BAC curve

1. Peak BAC — The Widmark Equation

For each minute of alcohol intake, Calcohol computes a peak BAC using a variant of the Widmark formula. Pure ethanol mass is derived from drink volume and ABV, then distributed across total body water using a sex- and BMI-adjusted Widmark factor (r).

Where oz is fluid ounces consumed, ABV is alcohol by volume (%), and mass is body weight in kilograms. The constant 23.33073 converts fluid ounces of ethanol to grams (29.5735 mL/oz × 0.789 g/mL). Dividing by 10 converts the result to the standard BAC decimal scale (e.g., 0.080).

Widmark factor equations from Kwan et al., 2014

2. BMI-Adjusted Widmark Factor

Rather than fixed sex-specific constants, Calcohol uses regression equations that adjust the Widmark factor r based on body mass index. Higher BMI generally corresponds to a lower distribution factor (more body mass, less relative water).

ParameterValueSource
Male intercept 1.0181 Kwan et al., 2014
Male BMI slope −0.01213 Kwan et al., 2014
Female intercept 0.9367 Kwan et al., 2014
Female BMI slope −0.01240 Kwan et al., 2014

3. Absorption Model

Alcohol does not enter the bloodstream instantly. Calcohol models a delay before absorption begins, then spreads each drink's contribution linearly until peak BAC is reached. Whether you've eaten significantly affects how quickly alcohol is absorbed.

ParameterValueNotes
Absorption delay 10 min Before BAC begins rising
Time to peak (empty stomach) 45 min Faster gastric emptying
Time to peak (fed) 90 min Delayed by food intake

This is a key limitation of most Widmark-based apps: even when they plot a curve over time, they usually treat the full drink dose as entering your bloodstream at once and don't adjust time-to-peak for whether you've eaten. Calcohol instead estimates consumption duration from drink size and timing. Shots (< 2 oz) are treated as instant. Longer drinks are spread across their logged duration, or inferred from the gap to the next drink — so a beer sipped over 45 minutes after a meal produces a very different curve than one logged as finished immediately on an empty stomach.

Absorption timing informed by Mitchell et al., 2014

4. Elimination Model

Once alcohol is absorbed, it is removed from the bloodstream at a roughly constant rate — a well-established approximation known as zero-order or linear elimination in many BAC models. Calcohol applies a short delay between absorption and the start of measurable elimination.

ParameterValueNotes
Elimination rate 0.015 BAC/hr ≈ 0.00025 BAC/min
Elimination delay 15 min Post-absorption lag

The 0.015/hr rate is a widely cited population average for alcohol metabolism. Individual rates vary substantially based on genetics, liver function, and other factors. The 15-minute elimination delay is an empirical tuning parameter that correlates well with observed data but does not have a dedicated formal study.

Elimination delay validated informally against Hironaka et al., 2012

5. Combining Multiple Drinks

Each logged drink contributes its own absorption curve. Contributions are summed minute-by-minute to produce a single BAC timeline. Elimination is applied globally across the combined curve, with a rolling window that tracks how much alcohol entered the bloodstream in each prior minute.

  1. Process drinks in chronological order
  2. For each drink, distribute alcohol intake across its estimated consumption duration
  3. Build per-minute absorption increments using the peak BAC and time-to-peak parameters
  4. Apply elimination with a 15-minute delay and 0.015/hr rate to the cumulative curve
  5. Clamp BAC to zero — it cannot go negative

6. Standard Drinks

For consumption statistics, Calcohol converts logged drinks to U.S. standard drink equivalents using 0.6 fluid ounces of pure ethanol per standard drink.

Peer-reviewed sources

Calcohol's model draws on published research in alcohol pharmacokinetics. Links open on NCBI PubMed Central.

[1]
Kwan et al. (2014)

BMI-adjusted Widmark factor regression equations for males and females. PMC4361698

[2]
Mitchell et al. (2014)

Gastric emptying and alcohol absorption timing — informs absorption offset and time-to-peak parameters. PMC4112772

[3]
Hironaka et al. (2012)

Pharmacokinetic modeling of blood alcohol curves — used to informally validate elimination delay behavior. PMC3400212

[4]
Widmark, E.M.P. (1932)

Original formulation relating ingested alcohol dose to blood concentration via body water distribution. Foundational reference for all Widmark-based BAC estimators.

⚠️ Important disclaimer

  • Calcohol provides estimated blood alcohol content figures based on simplified physiological models.
  • Estimates depend on the accuracy of your profile, drink entries, and assumptions about absorption and elimination rates.
  • Individual metabolism varies widely based on genetics, food intake, medications, and other factors.
  • These estimates are for informational purposes only. Never drive or operate machinery while under the influence of alcohol.
  • Never rely on this app as a substitute for responsible decision making or a breathalyzer.