Skip to main content

The store. Where your figures live.

The store is the base of the intelligence layer. Every answer, dashboard and deck reads from the same place: fourteen months of your figures, pulled daily from each source by plain code, kept in one store, and traced back to the request and response that produced them.

Live in early access. The mechanism everything else rests on.

Pulled by code, never by a model.

A connector is a file a person can read and a test can pin. Each source is called on a schedule, its response is mapped to named metrics and written as facts. No model chooses what to fetch, parses a response, or sits anywhere between a provider and the store. A deterministic fetch is the only kind whose output can be promised to be the provider's own answer.

The connections page: HubSpot, Salesforce and Mailchimp connected under customer data, and Stripe under revenue, each noting that disconnecting keeps collected history and that stored data can be erased separately
Sign in once per tool. Disconnecting keeps what was collected, and erasing is a separate, named action.

Fourteen months, backfilled on connect.

Connect a source and the first fourteen months are pulled in chunks, resumably, with progress visible. From then on a daily tick at the hour you choose keeps it current, and the last three days are re-read because providers revise recent data. The result is instant local reads with no provider round trip, sources that can be joined together, and history that survives a revoked grant or an agency handover.

  • About ninety metrics in the catalogue today across six providers.
  • Monthly partitions, so old data is dropped cleanly at the retention line.
  • One source failing does not fail the day, and the gap is visible rather than a zero.
The Data page listing what the store holds: each metric with its source, what it is, how it rolls up, held from 1 August 2025 through 30 September, 426 days, and a line saying it is up to date and when it was last collected
What we hold, per metric, with how far it reaches and when it was last collected.

Every figure has a receipt.

A fact cannot exist without the fetch that produced it, and a fetch keeps the exact request and the raw response the provider sent, archived for ninety days and permanently for backfills. The Data page lets you trace any number to that raw response.

The Data page, where it came from tab: collections grouped by source and day for every connected source, with the Shopify row for 1 October expanded to show a morning sync and a history backfill, each with when it ran, why, the result and the rows it returned
A morning sync, opened to its requests, with the rows each one returned.

The model picks a metric. Code does the maths.

Five of the eight headline GA4 metrics cannot be rolled up by adding daily rows, and one cannot be rolled up at all. So there is one resolver, it is ordinary code, and it is the only thing in the product that applies an aggregation. Averages are weighted properly, ratios are worked out from their parts, and unique counts are fetched for the window rather than summed.

Held, fetchable, or unavailable.

A figure the store holds is answered instantly. One it does not hold is fetched if the source can supply it, then kept for everyone after. One the source cannot supply is refused with the reason: the retention window passed, the account did not exist then, the scope was never granted. A figure that isn't held yet is never reported as one that doesn't exist.

Yours to export and erase.

Export everything held for a workspace as CSV, with source and fetch identity on every row. Disconnect a source and its history stays. Ask for it to be erased and it is, including the archived raw responses, with a confirmation that names the provider.

What it does not do yet.

Written down so you do not have to ask. When one of these changes, the changelog says so.

Read the changelog
  • Retention is fourteen months. There is no multi-year history, and the store is not a warehouse you can point your own BI tool at.
  • Google Analytics 4 is the only source live end to end. Search Console, Stripe, Shopify and HubSpot sync on staging; Google Ads, Salesforce and Mailchimp are part-built.
  • A deck's scheduled refresh still reads GA4 live rather than from the store. Dashboards and Ask read the store.
  • The CSV export is a live read, not a transactionally consistent backup.

Questions people ask about this.

The same store, other outputs.

See it on your own numbers.

Get early access and we will build the first draft from one of your own sources.

Get early access

Where your data converges.

Get early access