
Lexo
An open-source OCR workstation for Burmese documents, scanned books, and PDFs
An open-source Python desktop application and CLI that routes digital PDFs, scanned pages, images, and legacy Burmese text through the appropriate extraction workflow, then produces clean data for publishing, NLP, and LLM pipelines.
The 15-second brief
At a glance
- Outcome
- Consolidates OCR, PDF repair, and text cleanup into one installable tool with two interfaces and three export formats for research and publishing workflows.
- Delivery
- Shipped, 2026
- Focus
- Desktop, Systems
- Scope
- 8 core technologies
Ownership and evidence
What I built
The product decisions and engineering work that shaped the final result.
Designed one reusable processing engine behind both a PySide6 desktop interface and a scriptable Typer CLI.
Implemented per-page document routing: usable embedded text is extracted instantly, while scanned pages are rendered and sent through an optional Google Docs OCR provider.
Combined cropping, spread splitting, rotation, merging, page-range extraction, bounded concurrency, retry, and cancellation into a document-centric workflow.
Hardened Burmese output with Unicode NFC normalization, zero-width-space-safe cleanup, a default Myanmar language hint, and bundled Myanmar fonts.
Produced plain text, Markdown with YAML frontmatter, and JSONL for human editing and downstream data pipelines.
Published reproducible releases to PyPI using uv, Hatchling, GitHub Actions, and Trusted Publishing.
Product evidence
See it in action
Interface views and demonstrations from the working product.
Document workspace with OCR and export controls Page splitting and OCR workflow for scanned books