Snapshots · by FinOpsBricks
Push-only, typed-widget dashboards — the inverse of query-based BI. You POST a full, typed payload; we store it as an immutable snapshot; the dashboard renders the latest and lets you scrub back through every version you ever pushed.
No warehouse to fill. No connectors to maintain. Just the paper trail of what your numbers said, and when you knew it.
Monthly recurring revenue
Mar restated $160k → $172k on Apr 12
What we replace
Today, “what changed since last time, and when did we know” is a human narrating it in prose — “updated deck attached; note July was restated, see row 14” — un-searchable, and dead in three weeks. Snapshots answers it structurally: every push is a version, so it’s a scrub, not an archaeology dig through attachments.
The email thread
Snapshots
Traditional BI reads a warehouse and renders charts. Snapshots inverts it: whoever owns the data pushes a full, typed payload on a schedule, and the widget renders what it was given. The widget is a dumb, typed store — the intelligence lives in your script.
Pick a type — line, bar, area, KPI, table, or pie. The type publishes a JSON schema and becomes the contract every push is validated against.
Your script computes the numbers and POSTs the full payload. A push never overwrites — it stores a new immutable snapshot, stamped with the business date it describes.
The dashboard renders the latest with a freshness stamp. Drag the scrubber to see exactly what the same chart said on any day you pushed it.
The chart has its own x-axis; the scrubber is a second one across pushes. That second axis is restatement auditing, free from the architecture: “the July line said $2.1M on Aug 1, and says $2.4M today.”
A closed set of types, each validated on ingest. A payload that doesn’t match is rejected with a clear error — no schema-designer to build, full validation out of the box.
Nothing queries at view time; the dashboard reads the last stored payload and loads fast. The freshness stamp says exactly how current it is. That’s a feature, not an apology.
Most reporting is already a notebook or cron job that computes a number and pastes it into a sheet or Slack. Snapshots gives that flow a proper home. You write and host the push; we keep every version and render it. “You write the script” is the point, not an apology.