Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

Subtext: a bookshop shelf that answers how a book should feel, on open models running in the shop

Description and use

Subtext lets independent bookstores answer emotional reader requests online with local LLMs, keeping all data on‑premises and providing demand reports.

Problem

Independent bookshops lack a way to match readers’ emotional requests to titles online, leaving many potential sales unserved and no data on what readers actually want.

Outcome

Subtext improves discovery of emotionally relevant books, provides a monthly demand report, and keeps all data on‑premises, eliminating per‑search costs.

Workflow

  • 1. Load all book synopses into a local database.
  • 2. Run the gemma4:e4b model on each synopsis to extract atmospheres, pace, density, voice, themes and supporting passages.
  • 3. Store the extracted metadata in SQLite.
  • 4. When a reader submits a request, embed the request with embeddinggemma and compare to book embeddings.
  • 5. Rerank results using the book’s extracted meanings and confidence thresholds.
  • 6. Present the top matches with quoted passages and a note explaining the match; decline if confidence is too low.
  • 7. Log the request text anonymously for the Demand room analysis.
  • 8. Allow the bookseller to review and correct the extracted metadata; corrections become authoritative.
  • 9. Use the Demand room to generate buying lists and mood‑balance reports.
  • 10. Deploy the system locally via Next.js, SQLite and Ollama on the shop’s machine.

Evidence

A local model reads every synopsis once; after that, the shelf answers requests by meaning, shows why each book was chosen, says when nothing fits, and keeps what readers asked for, without who asked, so the bookseller knows what to stock.

Source

The first 200 books took 47 minutes, four at a time.

Source

A new request is answered in about 30 ms (median of eleven), with a 621 MB model.

Source

The shelf beats keywords clearly (better on 15 of 24 requests, worse on 6), and is level with plain embeddings overall (better on 9, worse on 8).

Source

Readers’ requests are the shop’s most valuable data, and they stay in the shop.

Source

  • Record date: 2026-10-17T15:56:05.765Z