I read a lot of non-fiction and retain embarrassingly little of it. The Ebbinghaus curve says you lose most of a new idea within a day, and my experience says the highlight I made in a physical book is the last time I’ll ever see it. Booksum was built for the moment the book is still open: photograph the page, keep the passage with the book it came from, get a summary I’ll actually re-read.
That part of the story is short and the app page covers it. The more useful story is what happened after it shipped.
Table of contents
Open Table of contents
The product, briefly
Scan an ISBN barcode and the book is on your shelf with its cover and metadata. Photograph a page and on-device OCR — Apple Vision on iPhone, ML Kit on Android — pulls the text out. Tap Summarise and a small language model running on the phone returns the key idea. A Review tab and a weekly quote notification resurface what you’ve saved; the Android version also generates spaced-repetition flashcards from your highlights. No account, no cloud, and the only network calls are the optional ISBN lookups.
The on-device summariser was the iOS release’s big change. The first version used a cloud model; the current one downloads a compact model on first use and never sends a passage anywhere. It’s slower on a four-year-old phone and I think it’s the right trade for an app whose whole content is what you underline in books.
The title that ranked for nothing
Booksum’s App Store title was “Book Tracker & Scan - Booksum”. “Book tracker” is a real, high-volume search — and it is owned. Goodreads has 743,000 ratings on it. Fable has 77,000. Bookly has 60,000. Booksum had zero.
The App Store ranks a keyword largely on the ratings volume of the apps competing for it, and a zero-rating app cannot outrank a six-figure-rating app on a head term no matter how good the metadata is. When I set up keyword tracking properly, the result was blunt: of 53 tracked US keywords, three ranked at all.
Meanwhile the Arabic, Italian and Russian storefronts — same app, same zero ratings — ranked for 14, 12 and 10 terms respectively. The difference was purely the title. Those locales had been given titles that carried the local “money phrase” (ملخصات كتب, riassunto libri, пересказ книг) instead of a translation of a term I couldn’t win.
The rename
The US title became “Reading Journal - Booksum”, subtitle “Book Quotes, Highlights, Scan”. “Reading journal” has a fifth of the volume of “book tracker” — and the top app competing for it has 215 ratings, which is a fight a new app can join. “Book quotes” and “book highlights” are smaller still, and they’re exactly what the app does, so the people who arrive through them convert.
Two intent traps were deliberately not chased, even though the raw numbers looked good:
- “summary” — decent volume, low difficulty. The number-one result is an AI meeting-note app. Nobody typing “summary” is looking for a book scanner.
- “passage” — also cheap. The number-one result is Passage Health.
And “book summary” — Blinkist’s category, 152,000 ratings, pre-written summaries of books you haven’t read. Booksum summarises pages you scanned from books you are reading. Similar words, different product, and a searcher who lands on the wrong one leaves a one-star review.
The rule I took away: pop and difficulty tell you if you can rank; only the top results tell you if you should.
Brand in the US title, nowhere else
The brand name went into the US title only and was stripped from every other locale. “Booksum” ranks for nothing outside the US and costs ten characters of a thirty-character field. Those characters now buy keywords: the Italian title gained diario (reading journal), the Arabic title gained ماسح (scanner). The locales that already ranked had their money phrases protected verbatim, because a title change reshuffles rankings for days and there was no reason to gamble on terms that were already working.
Seven more iOS locales — Chinese (both scripts), Korean, French, Portuguese, Spanish (Mexico), Vietnamese — were added purely because the US storefront cross-indexes their keyword fields. The app isn’t localised into them; the listings exist to give the US search index more unique tokens. No token repeats across any locale, which a validator enforces.
Everything lives in one script
All of the above — every locale’s title, subtitle and keyword field for both platforms — lives in a single Python file, allocation.py. Run it and it validates character limits, title↔subtitle word overlap (Apple already indexed the word; repeating it is a wasted slot), cross-locale token uniqueness and brand placement, then emits all 52 fastlane metadata files. I never edit the .txt files by hand. It’s the same discipline as generated localisation: the source of truth is the thing with the checks in it.
What changed
Rankings churn for three to five days after any metadata release, so verdicts came a week later against a locked baseline. The reading-journal cluster now ranks; the Arabic and Italian phrases held. It’s not a rocket — an app with zero ratings doesn’t get one — but the app is findable by the people looking for what it actually does, which it wasn’t before.
If you ship apps and haven’t tracked your keywords against your ratings count, do that before you touch a screenshot. Booksum is on the App Store and Google Play, under the title it should have had from the start.