Engine — web mode (CSV) Companion ↓
Importing…
Monthly digest ready — it's been 4+ weeks since your last report. Generate now?

Drop your agency sales reports here

CSV exports from Shutterstock, Adobe Stock, iStock/Getty, Pond5, Alamy and more. .stats.shock detects the columns, normalizes the rows, and builds your dashboard — all locally.

No sales data yet — import a report or load the sample set to light this up. IMAP polling + experimental connectors run on the free Dotshock Desktop engine.

Asset comparison

Export

Every export below is written straight to your download folder from data already in this browser. Pick what to take with you.

Full backup & restore

One file with everything — every sale plus tags, notes, goals, saved views, findings & presets. Restore it on any machine — the file carries sales and settings; your API key stays in this browser.

Saved export presets

CSV import templates

Download a template with the correct column headers for each agency, then fill in your data and re-import.

About .stats.shock (web prototype)

Cross-agency sales analytics. Your sales rows are parsed and stored in this browser. The optional AI features send a short text summary — period totals, agency names, asset filenames, keywords and license mix. Most of them, including the monthly report, call Anthropic straight from this page on your own key; the shoot recommendation, pricing advisor and shoot insight post that same summary to Dotshock's server, which runs the model on Dotshock's key.

Import sales CSVsImport…
Load demo datasetLoad sample data
Filter by agency / license / dateleft rail
Switch dashboardstop tabs
Display currencytopbar selector
Export CSV / JSONExport ▾

Parser detects common column variants for date, asset/filename, agency, amount and license type. Different headers across Shutterstock, Adobe, iStock, Pond5 and Alamy are mapped automatically; unknown amounts/dates are skipped with a count. Charts are hand-drawn SVG — no libraries.

Connect agencies

Read your numbers while you stay signed in on each agency’s own site — no passwords entered here.

Loading…

What your baselines say

Read in this browser from your per-year totals. The ✦ AI buttons send those yearly totals to Dotshock's server for a written read.

Reading…

AI shoot brief

Creative brief generated by Claude from your peak-month data.

Loading…

Asset earnings burnup

Resolve payout changes

Some imported rows match a sale you already have but with a different amount — usually a corrected or finalized payout. Choose which value to keep for each. Unresolved rows keep the existing amount.

Add sales manually

Paste rows (tab or comma separated): date, agency, filename, license, amount_eur

Edit sale

Changes are saved locally in IndexedDB.

Keyboard shortcuts

Command paletteCtrl+K
Close / dismissEsc
This shortcuts panel?
Overview tabo
Portfolios tabp
Sales tabs
Assets taba
Keywords tabw
Insights tabn
Import CSV filesi
Share card (export image)e
Toggle light / dark themet
Cycle saved views (prev / next)[ / ]

Shortcuts are disabled when an input, textarea, or select has focus.