Diversions · Words · on the bench
Books
A clever shelf over a public catalogue. Left unfiltered, most of what it deals cannot be read.
Scorecard · 14 of 20 checks met
How the checks workAll four: Open Library is the catalogue itself, called from the browser with no key or relay.
Missed C2: our evidence shows no stated limit, such as the unfiltered deal being mostly records.
Missed P3: we reproduced a deal against the same API, with no independent reference.
Missed F3 and F4: every shelf needs Open Library.
Missed R3 (twelve subjects) and R4 (lists and the reading log live on Open Library).
01What it is
Books is a reading room laid over the Open Library catalogue. Press deal and it lays out twenty-four books at random from one of twelve subjects. There is also a search box with categories, and an access filter with three settings: Everything, Reads free now, and Borrow with the key. Each book is labelled by whether it can be read without an account.
It is for readers who would rather stumble on a book than search for one, and for anyone who wants to see at a glance which titles are free.
02How it works
Everything happens in the browser. books/assets/js/app.js calls Open Library's public search API directly, with a fixed list of fields and twenty-four results a page, and takes covers from covers.openlibrary.org (app.js:25-27, 176-180). There is no relay and no key.
The random deal is engineered. A random subject, a seeded random sort and a random offset are combined so that the API's per-address cache cannot hand back the same shelf twice (app.js:10-13, 199-208). A book with no cover gets a generated typographic one instead of a blank tile (app.js:143-166). The access filter adds ebook_access:public or ebook_access:borrowable to the query (app.js:221-227). The page never handles an account or a password; borrowing sends the reader to Open Library's own forms (app.js:1-9).
03The test
On 27 September 2026 we fetched the page from the local copy, reproduced a random deal against the same API with the page's own query shape, and ran the free-to-read filter on the same subject.
| UTC | What we did | What came back |
|---|---|---|
| 20:00:14Z | Page on the local copy | HTTP 200, 40,679 bytes; app.js 16,126 bytes. |
| 20:02:05Z | A poetry deal: seeded sort, offset 1,200, 24 results | HTTP 200 in 1.74 s; 422,892 records found. Of 24 books, 23 had no ebook and one was print-disabled only; 7 had a cover, so 17 would get a generated one. |
| 20:02:08Z | Same subject, ebook_access:public | HTTP 200 in 2.28 s; 21,662 found; all 24 free to read. |
04The comparison
Open Library
fetched 2026-09-27What it is
The Internet Archive's open catalogue: search, subject browsing, borrowing through Controlled Digital Lending, and reading lists.
What it does better
It is the source. Borrowing, reading, lists, the reading log and yearly goals all happen there; it offers full-text search inside millions of books; and its subject browsing runs far deeper than the twelve subjects Books deals from.
Where Books goes further
One click gives a shelf the cache cannot repeat (app.js:10-13, 199-208), and every card carries an access badge in plain words, with a three-way filter on it (app.js:168-173; index.html:555-558).
Project Gutenberg
fetched 2026-09-27What it is
A library of free public-domain ebooks with no registration; its home page counted 79,475 on the day.
What it does better
Every book it lists is free to read and download with no borrowing step, and it offers Top 100 and most-downloaded lists and search by language.
Where Books goes further
Books covers borrowable titles as well as free ones, from a far larger catalogue (the poetry subject alone reported 422,892 records in our test), and labels which is which (app.js:168-173). Every book lacking a cover still arrives with a designed one (app.js:143-166).
05Where it falls short
- Unfiltered, the shelf is mostly records. In our poetry deal 23 of 24 books had no ebook at all. The filter fixes it, but a newcomer has to know to use it.
- It adds no reading tools of its own: no reading log, lists, goals or full-text search. Those live on Open Library.
- It depends on one outside API. Our two calls took 1.7 and 2.3 seconds, and when Open Library does not answer, the page can only say so (
app.js:214-216). - The random deal draws on twelve fixed subjects only (
app.js:29-34).
06The ruling
Books is a thin page and knows it, so its care goes into the two things a thin page can do well. The random deal is built to defeat the catalogue's cache, and the access badge answers the question every stranger's shelf raises, whether you can read the thing, in plain words on every card. Our test showed why the filter matters: with it switched on, all twenty-four books the same subject returned were free to read.
For discovery it is a pleasure. For reading, keeping lists or searching inside texts, go to Open Library, which is where Books sends you anyway.
On the docket: 14 of 20 checks met. A clever shelf over a public catalogue; unfiltered, most of what it deals cannot be read.