·
sha256
·
Each tile answers its section's question with a different chart, so this page tells you something the section doesn't rather than just shrinking it. Click any tile for the full view.
Eight things in this export would trip up a script pointed at it — a missing primary key, two attorneys sharing one cell on the biggest case of the year, and six more. They are surfaced rather than quietly corrected, because how most of them should be resolved is the firm's call, not the software's. See what we found →
Rivermark Injury Law does not exist. The firm, the seven attorneys, every matter, carrier, date and dollar figure on this page were generated for demonstration. Nothing here belongs to a real client, and no real client's data was reshaped to produce it.
What is real is the build. This is a working dashboard, not a picture of one: every figure is computed in the browser from a normalized export, which is why clicking any number opens the matters behind it. A firm's own daily export lands in their object storage, a scheduled job normalizes it, and the same page serves from a private URL behind a login — so the report a partner opens on Monday is the report the system built overnight, not one somebody rebuilt by hand.
The reconciliation strip at the top is the part worth pausing on. The page re-derives every yearly total in your browser and compares it to the source file, then says so. A dashboard that cannot show its arithmetic is asking to be trusted; this one shows it.
Built with no chart library, no framework and no external requests — the whole thing is one page, and it deploys as static assets in front of a small worker.
Every cell is clickable. Clicking one asks the underlying data which matters made up this number — the question a spreadsheet emailed round the office cannot answer.
Unassigned is shown as its own band rather than dropped. Settlements carrying no attorney are real money, and a firm-share chart that silently omits them is wrong by a wide margin — here, by more than six million dollars over the full history.
Click any bar to open the matters behind it.
How the money arrived, separated by route and period.
Two defensible readings of “not yet monetized”, because only the firm can say which one it means. Pick one and the whole section re-computes — this is the kind of definition that belongs in the data layer, agreed once, rather than re-decided every time a report is rebuilt. This section ignores the period filter by design: a tender offered in 2023 is still outstanding today.
A report rebuilt from a fresh export each time has no memory, so it can show this year and never the arc. Two measures at different scales get two charts; never one chart with two y-axes. Respects the attorney filter, ignores the period filter, because the period is the point.
Eight things in the file that a script pointed at it would get wrong. None are hard to handle and none are criticism — they are what seven years of a working case-management system looks like. They are surfaced rather than quietly corrected, because how most of them should be resolved is a decision for the firm, not for us. On a real engagement this list is usually the most valuable page in the build.