Snapshots · by FinOpsBricks

The dashboard that remembers every version.

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.

MRRFresh · as of Aug 31
$145,000▲ 12,000

Monthly recurring revenue

5 versions · scrub the historyv5

Mar restated $160k → $172k on Apr 12

What we replace

Stop explaining what changed in email.

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

  • “Which attachment is the current one?”
  • “What did this number say last week?”
  • “Who restated July, and when?”

Snapshots

  • Always the latest, with a freshness stamp
  • Scrub to any prior version
  • Every restatement is on the timeline

Push, not pull.

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.

  1. 1

    Create a typed widget

    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.

  2. 2

    POST your payload

    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.

  3. 3

    Scrub the history

    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.

Two time axes

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.”

Typed widgets are the contract

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.

Honestly not real-time

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.

Built for people who already write the script.

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.