CaseMark makes the demo paywall stop yelling 500

When a trial user runs out of demo credit, the app now tells them so - and tells them what to do about it.

chat-uiinfrastructure

CaseMark's fork has been quietly hardening the moment when a free-trial user hits the ceiling. Previously, document previews and downloads would fail with a generic server error when the demo budget ran out. Now those same paths return a specific, recoverable signal all the way through to the browser, with copy that points the user to either bring their own AI key or ask the demo operator for a top-up.

The team also retuned what actually costs money in the demo: only AI model calls draw down the budget, while uploading documents, browsing matters, and using the vault are free. Uploads are capped at 100 MB with a clean error rather than a crash.

The move is small but telling - it's the difference between a demo that frustrates prospects and one that converts them.

So what Worth a look for anyone running a self-serve trial of a legal-AI product who's losing prospects to opaque error pages.

View this fork on GitHub →

Spotted something wrong? Or know the PR text has fresher detail than the writeup above?

Commits in this thread

4 commits from CaseMark/mikeoss-casedotdev, oldest first. Source extracted verbatim from the harvested git log.

SHA Subject Author Date
5e899345 Surface demo budget errors for document loads kveton 2026-05-04 ↗ GitHub
c4a955e2 Tune demo usage metering kveton 2026-05-04 ↗ GitHub
57ba208c Harden document load error responses kveton 2026-05-04 ↗ GitHub
56e7f380 Merge pull request #7 from CaseMark/codex/demo-budget-document-errors Scott Kveton 2026-05-04 ↗ GitHub
Surface demo budget errors for document loads

Capture this thread into my fork

Download a single Markdown prompt that tells Claude how to port every commit above into your working tree — adapting paths and structure to match your repo. Run it via claude -p < capture-thread-33.md from inside the repo you want the changes in.

⬇ Download capture-thread-33.md