---
title: "Export All Your Data — CSV or JSON, Any Date Range"
description: "Your data belongs to you. xeve now supports full data export in CSV and JSON for every data type — app sessions, coding time, health, music, GitHub, locations — with date range filtering."
date: "2026-03-20"
app: orma
category: "building-xeve"
readingTime: "3 min read"
---

<p>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.</p>

<h2>What You Can Export</h2>

<p>Every data type in xeve is exportable:</p>

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

<h2>CSV or JSON</h2>

<p>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.</p>

<p>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.</p>

<h2>How It Works</h2>

<p>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.</p>

<p>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.</p>

<h2>Why This Matters</h2>

<p>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.</p>

<p>Find the export button on the Settings page under "Data Management."</p>
