A disclosure set, an upload bar and an error
A litigation associate needs to review a large disclosure set before a deadline. It arrives as a zip of PDFs, many of them scans of printed emails and handwritten notes, plus some spreadsheets and email files. They upload it to your product. The progress bar sits at the same point for twenty minutes, then shows an error. They try splitting it into smaller batches. Some work. Some fail with no explanation.
By the evening, the associate gives up and reviews the documents the old way. Your support team sees a string of timeout errors in the logs, all from the same user.
Why legal files overwhelm products built on samples
Legal tech products are often built and tested on clean, text-based PDFs of reasonable length. Real legal work is different.
- Court bundles and disclosure sets run to thousands of pages across hundreds of files.
- Many pages are scans with no text layer, some skewed, faint or handwritten.
- Files arrive in mixed formats: PDF, Word, email files with attachments, spreadsheets and images.
- Uploads and processing happen in one web request, which times out on large inputs.
- One bad file can fail the whole batch, with no indication which.
What failing on big files costs
Large matters are where legal tech could save the most time, and where firms most want it. A product that cannot handle them is limited to small tasks, and fee earners learn not to trust it when it matters. Litigation teams in particular judge a product on its first big bundle. Failed uploads also create support load, and repeated attempts cost you processing and AI usage for work that never completes.
There is a quieter risk. If poor OCR produces garbled text and your product analyses it anyway, the output looks confident but is based on nonsense, which is worse than an error message.
How we build processing for real legal volumes
What we build separates upload from processing and treats every file and page as a unit that can succeed or fail on its own.
- Resumable uploads directly to storage, so large uploads survive a dropped connection and do not depend on a web request finishing.
- Unpacking of zips and email files into individual documents and attachments, keeping the family relationships between an email and its attachments.
- A background queue that processes documents in parallel, with retries for temporary failures and a clear failed state for files that cannot be read.
- OCR for scanned pages, with a quality score per page, so poor scans are flagged rather than analysed as if the text were reliable.
- Page-level chunking with references back to document and page number, so analysis can cite exactly where something came from.
- Progress the fee earner can see, with partial results available as documents finish, and a report of any files that failed and why.
| Input | What happens |
|---|---|
| Very large bundle | Resumable upload, processed in the background |
| Zip of mixed files | Unpacked, each file processed on its own |
| Email with attachments | Unpacked with family links kept |
| Poor quality scan | OCR with quality flag, low scores marked for review |
| Corrupt or password-protected file | Marked failed with reason, rest continue |
Processing large volumes has real running costs, especially where AI analysis is involved. We design the pipeline so costs are visible per matter, which helps with your pricing.
The disclosure set, second attempt
The associate uploads the zip. It finishes in the background while they work on other things. The product unpacks it, starts OCR on the scans, and shows progress by document. Early results appear while the rest are still processing. A handful of pages are flagged as poor quality and listed for a human look. Two files are password protected and reported as such. The associate reviews the analysis the same day, knowing exactly which pages the product could not read.
Does your product struggle with big files?
- Large uploads time out or fail without explanation.
- One bad file stops a whole batch.
- Scanned pages are analysed without checking OCR quality.
- Fee earners cannot see progress on large jobs.
- Email files and their attachments are not handled as families.