Shoebox
A locally run web application that converts receipts into tables. It uses Ollama to run the Gemma 3 vision model, extracts structured data from receipt photos, and exports the results as CSV, with all data retained locally throughout the process.
Timeline (last 90 days)
Shoebox is a local web app that runs the Gemma 3 (4B) vision model locally via Ollama, converts receipt photos into a table exportable as CSV, and keeps all data local.
Shoebox's frontend uses plain HTML/CSS/JS, and the backend uses FastAPI and Pydantic for validation.
Shoebox supports receipt photos in JPG, PNG, WEBP, and HEIC formats.
The fields Shoebox extracts include date, merchant, currency, subtotal, tax amount (GST), total, payment method, category, line items, and a model confidence score.
When confidence is below 0.6, a field is missing, or the sum of line items deviates from the total by more than 2%, Shoebox marks the corresponding row in amber and provides a side drawer for manual verification and correction.
Shoebox uses Server-Sent Events (SSE) to push the processing status of each receipt (queued, scanning, done, or needs review).
Shoebox writes results to SQLite so data is not lost on page refresh; images are scaled by Pillow to 1600 pixels on the long side before inference; the exported CSV has a UTF-8 BOM.
The author benchmarked on 3 synthetic receipts, achieving 100% accuracy on all four items—date, merchant, total, and tax—with an average of 2.32 seconds per receipt, on hardware consisting of an RTX 4050 laptop GPU (6GB VRAM), a Ryzen 7 7840HS, and 16GB of RAM.
The author calls the above benchmark a "smoke test, not a real-world accuracy claim," with a test sample of only 4 receipts (3 of which were used for benchmark evaluation).
Shoebox is open-sourced under the MIT license, and the end-to-end integration test in eval/test_suite.py covers 8 stages, all of which the author says pass.
3 more timeline events
All Facts (13)
The first real user (a freelance videographer) said he was willing to pay a one-time 2,500 rupees (about $30) to avoid a monthly cloud subscription and protect his clients' billing privacy.
50%UnverifiedShoebox's frontend uses plain HTML/CSS/JS, and the backend uses FastAPI and Pydantic for validation.
50%UnverifiedShoebox supports receipt photos in JPG, PNG, WEBP, and HEIC formats.
50%UnverifiedThe fields Shoebox extracts include date, merchant, currency, subtotal, tax amount (GST), total, payment method, category, line items, and a model confidence score.
50%UnverifiedWhen confidence is below 0.6, a field is missing, or the sum of line items deviates from the total by more than 2%, Shoebox marks the corresponding row in amber and provides a side drawer for manual verification and correction.
50%UnverifiedShoebox uses Server-Sent Events (SSE) to push the processing status of each receipt (queued, scanning, done, or needs review).
50%UnverifiedShoebox writes results to SQLite so data is not lost on page refresh; images are scaled by Pillow to 1600 pixels on the long side before inference; the exported CSV has a UTF-8 BOM.
50%UnverifiedThe author benchmarked on 3 synthetic receipts, achieving 100% accuracy on all four items—date, merchant, total, and tax—with an average of 2.32 seconds per receipt, on hardware consisting of an RTX 4050 laptop GPU (6GB VRAM), a Ryzen 7 7840HS, and 16GB of RAM.
50%UnverifiedThe author calls the above benchmark a "smoke test, not a real-world accuracy claim," with a test sample of only 4 receipts (3 of which were used for benchmark evaluation).
50%UnverifiedShoebox is open-sourced under the MIT license, and the end-to-end integration test in eval/test_suite.py covers 8 stages, all of which the author says pass.
50%UnverifiedInstalling Shoebox only requires running `ollama pull gemma3:4b`, `pip install -r requirements.txt`, and then `run.bat` or `run.sh`.
50%UnverifiedShoebox is a local web app that runs the Gemma 3 (4B) vision model locally via Ollama, converts receipt photos into a table exportable as CSV, and keeps all data local.
50%UnverifiedThe author's pricing idea is a one-time license of $49 (3,999 rupees in the Indian market), including one year of model and parser updates.
50%