How I work

Start light. Upgrade when the data grows.

Most reporting problems do not need a platform, a migration, or a year. They need someone to build the specific thing, quickly, from the data you already have — and to leave it running in the hands of the people already doing the job.

The trap in this market is being sold the biggest version of the solution on day one — a platform, a data warehouse, a per-seat licence, and six months before anyone sees a chart. I start at the smallest thing that answers the question, and move up only when the data actually outgrows it.

Where to start

Find the row that sounds like you. The full technical detail is on the security & deployment page.

ShapeRight whenWhat you get
1 · A self-contained file The data is a spreadsheet, not a database — or it's the same view someone puts together by hand, over and over. One HTML file you open from your own file share. Charts, filters and drill-down all run in your browser — no server, no login, nothing to subscribe to. It works offline. It can also read a new export you pick — it names the columns it needs up front and refuses a file that is missing one rather than guessing — so refreshing it is dropping in a file rather than asking me — try that on any demo, each one ships the sample workbook it was built from.
2 · An automated refresh The file is bigger than a browser wants to chew on, or dropping in a new export by hand has become the bottleneck. The same dashboard, republished nightly by a job running in your tenant on your credentials. If a check fails it keeps yesterday's good version and tells someone.

Practical limits: CSV to roughly 50 MB / 250,000 rows, XLSX to roughly 10 MB / 80,000 rows — spreadsheets are slower to read per megabyte than plain text. Both figures measured, not estimated.

And when it outgrows even that. If the questions keep changing and every new one means another request to someone, the next step is an explorable dataset — the data converted to a columnar format and queried by an engine running in the browser tab, so it still needs no server and still does not leave your environment. That is a bigger build than either row above and it gets scoped as one, on its own terms.

When this is the wrong answer

Some problems genuinely do need a real data platform — many sources, streaming, multi-gigabyte data, a lot of people writing back to it. When that is the case I will say so on the call, and tell you what to look for instead. A clever single file aimed at a problem that size does not fail cleanly: it works for a quarter, quietly stops matching reality, and you pay twice — once for it and once for the thing you needed in the first place.

What an engagement looks like

A callTwenty minutes. What decision are you trying to make, what is the data, who reads the result. Free, and it sometimes ends with me saying you do not need me.
A sample fileYou send a representative export — real or redacted, your call. I confirm what is answerable from it and what is not, before either of us commits.
A fixed quoteA specific scope, a specific price, a specific date. Not an estimate that grows.
BuildDays, not weeks — with the date in the quote. You see a working version early enough to change your mind about it while changing it is still cheap.
HandoverThe file, the source, the documentation, and — for anything automated — the runbook and a completed access register with every credential accounted for.

Pricing

The exact number comes after the call and the sample file rather than off a menu. If you later want changes, new views, or someone keeping an automated refresh healthy, that can be a monthly retainer — but the deliverable keeps working whether or not you take it, because there is no licence and no server of mine involved.

What you own at the end

The full detail on access, residency, failure behaviour and what is held at the end is on the security & deployment page.

Send me one export.

The file someone rebuilds a report from every week. I'll tell you what's answerable from it and what isn't. That is the same sample-file step as above, just without the meeting first — no call, no pitch, and it's free.

Prefer to talk first? Twenty minutes, no pitch: book a call

Not comfortable sending a file to someone you have not met? Send the column headers, a screenshot with the numbers blanked out, or two lines describing it. That is usually enough for me to tell you what is answerable.

Send me a file →