Plotoo
100% local — nothing is ever stored on our servers

Your health data, visualized entirely on your device

Apple Health, Fitbit/Google, WHOOP/Oura, CGM, endurance files, and CPAP exports — turned into deep, interactive dashboards. Everything is parsed and stored locally in your browser. No accounts, no uploads, and nothing is stored on a server — WHOOP sync is the one exception that touches our server at all, and even that is a stateless relay that keeps nothing.

No signup required — the demo uses generated sample data.

Private by design

Plotoo isn't a service you send your health data to. It's an app that runs in the browser tab you already have open.

Processed entirely in your browser

Every export is parsed locally in a background worker. Your files are never uploaded to a server — ever.

Stored only on your device

A cached copy lives in your browser's IndexedDB so you don't have to re-upload. Clear it anytime, with one click.

Try it with zero signup

The live demo runs on generated sample data — no account, no upload, nothing to lose. See exactly what you'd get.

Nothing tracked, nothing sold

A license key to confirm your subscription, and — if you connect WHOOP — sync requests through a stateless relay are the only things that ever cross the network. Neither is stored on our end.

AI that never phones home

Ask questions about your data using a local AI model via Ollama. Every inference runs on your own machine — no cloud AI, no data ever leaves your device.

What actually crosses the network

Your device
  • Your export file

    Apple Health, CGM, CPAP, etc.

  • Parsing & storage

    Background worker → IndexedDB

  • AI chat via Ollama

    Runs on your own machine

  • PDF export for your doctor

    Built on-device, never uploaded

license keyWHOOP relay (stateless)
The cloud

Sees whether your license key is active, and, if you connect WHOOP, relays your sync requests to WHOOP because their API requires it. That relay is stateless — nothing is logged, cached, or stored. No health data, files, or AI prompts are ever kept on a server.

Local AI — powered by Ollama

Chat with your health data

Ask anything — trend analysis, pattern spotting, plain-English summaries of months of data. The AI reads directly from your local IndexedDB cache and runs entirely on your machine via Ollama. Not one token is sent to a cloud.

  • Works with any Ollama model — Llama 3, Mistral, Gemma, and more
  • Sees all your dashboards at once: Apple Health, CPAP, Fitbit, Recovery, Endurance
  • Streaming responses with full markdown rendering

Example questions

  • How has my sleep quality changed over the past month?
  • What's my average AHI this year vs. last year?
  • Which days of the week do I train hardest?

8 data sources, one dashboard

Every data source below is free during development — explore each one with a live demo, no account needed.

Apple Health

Activity rings, workouts, and sleep stages from your iPhone.

Active energy, 7d612 cal
View demo →

Fitbit

Years of fragmented Google Takeout JSON, stitched into one timeline.

Resting HR, 7d58 bpm
View demo →

CGM

Glucose curves, time-in-range, and variability from Dexcom or Libre.

Time in range, 7d94%
View demo →

Recovery

WHOOP or Oura: sleep architecture, HRV, and recovery trends beyond the daily score.

HRV, 7d68 ms
View demo →

Endurance

Second-by-second power, heart rate, and elevation from .FIT/.TCX files.

Weekly distance42 km
View demo →

CPAP

Nightly AHI, leak, and pressure trends with per-night waveform detail.

AHI, 7d1.2
View demo →

Strava

Training load, volume trends, and deep analytics across all your Strava activities.

Weekly distance64 km
View demo →

WHOOP

Live recovery, strain, sleep, and workout sync straight from the WHOOP API.

Recovery, 7d78%
View demo →

How it works

The same three steps for every data source — your data stays put the whole time.

1

Export from your device or app

Each data source has its own export — Apple Health's export.zip, a Google Takeout folder, a CGM CSV, or a .FIT file from your watch.

2

Drop the file in

Open the dashboard for that data source and drop the file in. It's parsed entirely in your browser by a background worker — nothing is ever uploaded.

3

Explore your data

Browse trends, summaries, and breakdowns across years of data, organized into clear visualizations. Clear it from your device anytime.

See it for yourself

Every dashboard, fully populated with sample data — no upload, no signup, nothing to install.