← back to blog
building xeve

Export All Your Data — CSV or JSON, Any Date Range

3 min read

A personal analytics platform that locks in your data is not personal — it is a hostage situation. From the beginning, xeve has been built on the principle that your data is yours. The export feature makes that concrete.

What You Can Export

Every data type in xeve is exportable:

  • App sessions — every tracked app switch with timestamp, app name, window title, category, and duration
  • Coding sessions — heartbeat-derived sessions with project, language, file, and duration
  • Spotify history — every track played with artist, album, timestamp, and duration
  • GitHub activity — commits, PRs, and reviews with full metadata
  • Health samples — steps, energy, sleep, heart rate, and workouts from HealthKit
  • Location logs — place transitions with coordinates and timestamps
  • Daily summaries — pre-computed daily aggregates used by the dashboard

CSV or JSON

You choose the format. CSV is best for loading into spreadsheets, R, or pandas. JSON preserves nested structures and is better for programmatic consumption. Both formats include all fields — nothing is stripped or simplified.

Date range filtering lets you export a specific period instead of your entire history. Exporting one week of data for a blog post? Select the range. Exporting everything before deleting your account? Leave the range blank.

How It Works

The export runs client-side in the browser. It queries Supabase directly using the same RLS-protected tables the dashboard uses — your session token determines what data you can access. The browser assembles the file and triggers a download. No data passes through a server-side endpoint we control.

For large exports (months of per-second heart rate data), the query is paginated and the results are streamed into the file progressively. The UI shows a progress indicator so you know it is working.

Why This Matters

Data portability is not just a feature — it is a trust signal. If xeve shuts down tomorrow, your data is not lost. If you want to build your own analysis pipeline, you can. If you want to switch to a different tool, you can take your history with you.

Find the export button on the Settings page under "Data Management."

Written by Kevin — builder of xeve

Track your apps, coding, music, and health — all in one place.

try xeve free