fd

All work

Book Scanner

ShippedLive

Point your phone at a book cover, it reads the title and author on-device: no server, no account, works offline. Optionally calls Gemini when you’re online for much better Macedonian-script covers.

Stack
TypeScript, React, Vite, Tesseract.js, IndexedDB
Links
Book Scanner’s review screen: title The Great Gatsby, author F. Scott Fitzgerald, tagged 100% confident and Read via AI.
AI mode (Gemini). Title and author read at 100% confidence.Full size
The same title page read on the device: The Great Gatsby, F. Scott Fitzgerald, tagged 98% confident, Read on device, and Matched in catalogue.
On-device OCR. 98% confident, and matched against the Open Library catalogue.Full size

What it does

Book Scanner is an installable PWA (progressive web app) for cataloguing books. Photograph a cover and the text is read on the device with Tesseract.js; the library is kept in IndexedDB, in your own browser. There is no server and no account, and after a one-time download of the text recogniser, scanning works with no internet at all.

Two ways to read a cover

On-device OCR is the default. When you’re online you can turn on AI reading with Gemini, which reads Macedonian-script covers much better. With the catalogue lookup on, on-device readings are also matched against Open Library.

Either way, every result shows how confident the app is and where the reading came from, and nothing is stored until you’ve checked it and saved.

Proof

Each claim on this page and how it was checked
ClaimHow it was checkedState
189 of 189 unit tests passnpx vitest runVerified 27 Sep 2026
40 end-to-end tests pass, 5 skipped, 0 failed, across Desktop Chrome, Pixel 7 and iPhone 14All 5 skips are on the WebKit (iPhone 14) project.npx playwright testVerified 27 Sep 2026
15 of 15 exact title matchesDocumented the same way across the repo’s docs, but not re-run for this page. Re-running it needs a network fetch of the real covers.The repo’s own accuracy report, docs/accuracy-covers-offline.mdOpen

Screens

The empty library, with a prompt to set up offline scanning and a Scan Books button.
The empty library, with the one-time download that makes scanning work offline.Full size
The scan screen with Open Camera and Select Photos buttons, and toggles for catalogue lookup, Macedonian and English.
The scan screen. Open the camera or pick photos; catalogue lookup and language toggles sit above.Full size