| Type OCR Application |
Input PDF / JPG / PNG |
Output Text / JSON / PDF |
Interface Streamlit |
|
ScribbleQ is an OCR-based document intelligence application for converting handwritten documents into clean digital text. The system combines document input handling, text-region detection, recognition, structured output, and an interactive Streamlit interface for fast document processing. |
|
flowchart TD
A[PDF / Image Input] --> B[Document Loader]
B --> C[Text Detection]
C --> D[Text Recognition]
D --> E[Structured Output]
E --> F[Text Export]
E --> G[PDF Export]
E --> H[JSON Export]
I[Streamlit UI] --> B
| Feature | Purpose |
|---|---|
| Handwritten OCR | Converts handwritten document content into digital text. |
| Multi-format input | Supports PDFs and common image formats. |
| Detection and recognition flow | Separates page analysis from text recognition for cleaner processing. |
| Structured output | Produces data that can be reused in downstream workflows. |
| Export utilities | Supports text, JSON, and PDF-oriented output paths. |
| Streamlit interface | Provides a simple interactive upload and processing experience. |
flowchart LR
A[Document] --> B[Preprocess]
B --> C[Detect Text Blocks]
C --> D[Recognize Text]
D --> E[Assemble Output]
E --> F[Export]
| Stage | Output |
|---|---|
| Input loading | PDF or image document converted into processable pages. |
| Detection | Located text regions and layout blocks. |
| Recognition | Handwritten content converted into digital text. |
| Structuring | Text arranged into export-ready payloads. |
| Export | Text, JSON, or PDF output. |
git clone https://github.com/ns7523/ScribbleQ.git
cd ScribbleQ
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtRun the Streamlit app:
streamlit run streamlit_app.pyOpen the local interface:
http://localhost:8501
Python API example:
from hwte.io import DocumentFile
from hwte.models import ocr_predictor
model = ocr_predictor(pretrained=True)
doc = DocumentFile.from_pdf("document.pdf")
result = model(doc)
print(result.export()).
├── assets/
│ └── brand/
│ ├── hero.svg
│ └── pipeline.svg
├── demo/
│ ├── app.py
│ └── backend/
│ └── pytorch.py
├── hwte/
├── streamlit_app.py
├── requirements.txt
└── README.md
Suggested production structure:
docs/ · demo/ · hwte/ · tests/ · examples/ · assets/screenshots/ · requirements.txt
|
Streamlit upload and document selection flow. |
Recognized text output. |
|
Text, PDF, and JSON export options. |
Visual overview of detection and recognition stages. |
- Add sample input and output examples.
- Add OCR accuracy and latency benchmarks.
- Add screenshots under
assets/screenshots/. - Add deployment notes for Streamlit Cloud.
- Add tests for input loading and export utilities.
- Add documentation for OCR model components.
- Add a clear license file.