{
  "dataset": "product",
  "title": "CoffeeLog — what the app does",
  "description": "CoffeeLog is the iOS caffeine tracker this reference site is the companion to. Every capability below names the page that documents it; `not_included` names what it will not do.",
  "generated": "2026-09-30",
  "count": 6,
  "self": "https://trackcaffeine.com/api/v1/product.json",
  "documentation": "https://trackcaffeine.com/api/",
  "licence": {
    "name": "CC BY 4.0",
    "url": "https://creativecommons.org/licenses/by/4.0/",
    "attribution": "TrackCaffeine (https://trackcaffeine.com)",
    "terms": "Free to reuse, redistribute and build on, including commercially, with attribution to TrackCaffeine and a link to https://trackcaffeine.com."
  },
  "provenance": {
    "compiled_by": "Vast Flow, LLP",
    "method": "Caffeine figures are compiled by hand from manufacturer labelling and nutrition panels, USDA FoodData Central and published measurement tables, for the serving size named in the row. Everything derived — decay, cutoff times, cup equivalents — is computed from the published model, not taken from a source.",
    "licensed_in_data": false,
    "licensed_in_note": "No column here is redistributed from a third-party API or a licensed corpus, which is why the whole set can carry CC BY 4.0. Brand names identify the product a row describes.",
    "primary_sources": [
      {
        "name": "FDA — Spilling the Beans: How Much Caffeine is Too Much?",
        "url": "https://www.fda.gov/consumers/consumer-updates/spilling-beans-how-much-caffeine-too-much"
      },
      {
        "name": "EFSA — Scientific Opinion on the Safety of Caffeine (2015)",
        "url": "https://www.efsa.europa.eu/en/efsajournal/pub/4102"
      },
      {
        "name": "USDA FoodData Central",
        "url": "https://fdc.nal.usda.gov/"
      },
      {
        "name": "Drake et al., Journal of Clinical Sleep Medicine (2013)",
        "url": "https://jcsm.aasm.org/doi/10.5664/jcsm.3170"
      }
    ],
    "contact": "support@trackcaffeine.com"
  },
  "product": {
    "name": "CoffeeLog",
    "publisher": "Vast Flow, LLP",
    "category": "Health & Fitness",
    "app_store_url": "https://apps.apple.com/us/app/caffeine-tracker-coffeelog/id6774424227",
    "app_store_id": "6774424227",
    "website": "https://trackcaffeine.com",
    "shares_model_with_site": true,
    "model": "https://trackcaffeine.com/api/v1/model.json"
  },
  "platforms": {
    "ios": true,
    "ipados": false,
    "watchos": true,
    "macos": false,
    "android": false,
    "web_app": false,
    "note": "iPhone, with an Apple Watch app and widgets. There is no Android build and no web version of the tracker — the free calculators on this site are the browser answer, and they are not an account you log into."
  },
  "pricing": {
    "download_price": 0,
    "currency": "USD",
    "has_free_tier": true,
    "has_subscription": true,
    "subscription_price": null,
    "subscription_price_note": "Priced in App Store Connect and shown in the store listing. It is deliberately not restated here: a price typed into a repository goes stale silently, and this endpoint would then be wrong in a place nobody looks.",
    "subscription_managed_by": "Apple, through the App Store; subscription state through RevenueCat.",
    "cancel": "Any time, in Apple ID settings.",
    "free_tier_includes": [
      "one-tap-logging",
      "live-decay-curve",
      "last-cup-cutoff",
      "daily-limit",
      "apple-health",
      "apple-watch"
    ]
  },
  "capabilities": [
    {
      "id": "one-tap-logging",
      "name": "One-tap logging",
      "detail": "Log a drink from the same 87-drink catalogue this site publishes at /api/v1/drinks.json, or save a custom one. No milligrams typed by hand.",
      "documented_at": "https://trackcaffeine.com/app/",
      "free_tier": true
    },
    {
      "id": "live-decay-curve",
      "name": "Live decay curve",
      "detail": "A continuously updating curve of overlapping doses across the day, on the home screen and in a widget. This is the one thing a static web calculator structurally cannot do: the site computes a moment, the app follows the day.",
      "documented_at": "https://trackcaffeine.com/app/",
      "free_tier": true
    },
    {
      "id": "last-cup-cutoff",
      "name": "Last-cup cutoff and its notification",
      "detail": "The latest time one more cup still leaves you under your threshold at bedtime, computed from the same model as https://trackcaffeine.com/tools/last-cup-before-bed/, with an optional nudge as the cutoff approaches.",
      "documented_at": "https://trackcaffeine.com/tools/last-cup-before-bed/",
      "free_tier": true
    },
    {
      "id": "daily-limit",
      "name": "Daily limit with a running total",
      "detail": "A 400 mg default you can tune, and a running total across every drink.",
      "documented_at": "https://trackcaffeine.com/tools/safe-daily-limit/",
      "free_tier": true
    },
    {
      "id": "apple-health",
      "name": "Apple Health",
      "detail": "With explicit permission, writes dietary caffeine to Apple Health and reads sleep, to surface your own pattern. Processed on the device; revocable in iOS Settings.",
      "documented_at": "https://trackcaffeine.com/privacy/",
      "free_tier": true
    },
    {
      "id": "apple-watch",
      "name": "Apple Watch and lock-screen widgets",
      "detail": "Current level and bedtime readout on the wrist and the lock screen.",
      "documented_at": "https://trackcaffeine.com/app/",
      "free_tier": true
    }
  ],
  "not_included": {
    "android_app": false,
    "web_app": false,
    "account_or_login": false,
    "cross_device_sync": false,
    "server_side_log": false,
    "ads": false,
    "att_tracking": false,
    "caffeine_measurement": false,
    "medical_device": false,
    "childrens_guidance": false,
    "notes": {
      "account_or_login": "There is no account and no sign-up. That is also why there is no sync: the log lives on the device and nowhere else.",
      "server_side_log": "Nothing about what you drink reaches our servers. What does leave the device is listed under `data_leaves_device` — subscription state and anonymised crash and usage diagnostics, neither of which contains the log.",
      "caffeine_measurement": "The app estimates from a catalogue of labelled servings. It does not measure the caffeine in anything, and no phone can.",
      "medical_device": "It is not a medical device and gives no medical advice. It does not model medication, pregnancy, liver or heart conditions.",
      "childrens_guidance": "The 400 mg daily figure is adult guidance. Nothing here applies to children or adolescents."
    }
  },
  "data_leaves_device": [
    {
      "processor": "Apple",
      "what": "Purchase and subscription transactions. Payment details are never seen by the publisher."
    },
    {
      "processor": "RevenueCat",
      "what": "Subscription status and an anonymous, app-generated subscriber identifier."
    },
    {
      "processor": "Google Firebase",
      "what": "Anonymised usage analytics and crash diagnostics — a device/installation identifier and crash reports. Not the drink log."
    }
  ],
  "privacy_policy": "https://trackcaffeine.com/privacy/"
}
