B.L.A.S.T.
Getting text out of scanned PDFs, slide decks, and photos is tedious and unreliable: existing tools break on messy real-world documents.
B.L.A.S.T. reads text out of documents automatically (a technique called OCR) and turns it into clean Markdown or Word files. One pipeline handles multi-page documents, retries automatically when a page fails, and produces deterministic output for the same input. Try it yourself in the live demo.
61.6% reduction in mean character error rate and a 3.9x CPU latency improvement across four pipeline phases, measured against a 14-page evaluation corpus. Fact-check pass rate is the one metric that did not improve, shown here in full rather than omitted.
| Phase | Mean CER | Mean WER | Reading order τ | Fact-check | CPU latency |
|---|---|---|---|---|---|
| 0 - Baseline | 0.4992 | 0.7288 | 0.6770 | 42.6% | ~60.0s |
| 1 - Preprocessing | 0.4944 | 0.7248 | 0.6822 | 29.8% | ~33.0s |
| 2 - Layout | 0.2338 | 0.4968 | 0.9641 | 44.7% | ~33.0s |
| 3 - RapidOCR ONNX | 0.1916 | 0.4739 | 0.9758 | 40.4% | ~15.3s |
Fact-check pass rate did not track the other metrics: it dipped to 29.8% at phase 1 and settled at 40.4%, below the 42.6% baseline. Character error, word error, reading order, and latency all improved substantially; fact-check accuracy is a separate, unresolved problem.
The project demonstrates that OCR reliability comes from architecture discipline: strict module boundaries, retry policies, and explicit cleanup matter more than adding more heuristics.
664 automated tests cover the extraction, retry, cleanup, and concurrency paths, and the live Streamlit deployment runs the same pipeline as the CLI.
Related projects
A ChatGPT-style assistant that answers UET students' questions (admissions, fees, courses) using real university data...
Concurrently pulls menu data from 17 restaurant sites, validates and cleans it with Pydantic and pandas, and pushes a...
Have documents or scans you need processed automatically? →
Hire Ibrahim / Discuss Scope