Skip to content

Journal

·4 min read

Import. Export. Leave.

Bring history in as CSV. Take every aggregate out as JSON. The schema lives in the repository. Lock-in is a product failure we refuse to ship.

PortabilityData

An open suitcase packed with folders and a hard drive in a doorway
Your rollups should fit in a file you can carry.

The worst analytics relationship is the one that starts with a CSV you cannot get back. Vector 5 imports historical aggregates and exports the same shape. POST /import, GET /export. Event-level rows are not the product; rollups are. You leave with what the dashboard actually used.

That also keeps us honest about insights. If a model only ever saw counts you can export, the brief is reproducible after you leave. If a vendor’s “AI layer” needs rows that never appear in the export, the intelligence was a hostage.

portability
POST /import   ← CSV aggregates
GET  /export   → JSON aggregates
schema         → in the repo, not a sales deck
A number you cannot take with you is a screenshot, not a measurement.