Skip to main content

§ masterplan.md

Private Book Library

A classy minimal catalog for a personal book collection with reading stats, notes and lending tracker.

All ideas
Classy Minimal

01

App overview and objectives

A private catalogue of the books you actually own: shelf view, reading stats, margin notes, and a record of what you lent to whom. It is a personal tool first, with optional public shelves.

02

The problem worth solving

Reading apps are social networks that happen to track books. Many readers want the opposite — a quiet, private record they own, including the awkward question of who still has their copy of that novel.

03

Target audience

  • Primary — Serious readers with physical libraries of a few hundred books.
  • Secondary — Small community or classroom libraries that lend informally.

04

Roles and permissions

  • Visitor — read-only public pages, can sign up.
  • Member — owns their own records, cannot see other users' data.

05

Core features

  • Add books by ISBN scan, search or manual entry
  • Shelf view with cover grid and physical location tags (room, shelf)
  • Reading log with start/finish dates, ratings and progress
  • Notes and quotes attached to page numbers, searchable across the library
  • Lending record: who, when, reminder, returned
  • Wishlist with price alerts or simple manual tracking

Deliberately later

  • Public shelf sharing
  • Import from other services
  • Household multi-user libraries

06

Technical stack

React with offline-first local caching, Postgres backend, book metadata from an open bibliographic API.

Why: Cataloguing happens standing at a bookshelf, often with poor signal; entries must queue locally and sync later.

Alternatives: Spreadsheet (free, no scanning or notes) or an existing reading social network (feature-rich, your data lives with them).

07

Conceptual data model

Book — title, authors, ISBN, cover, publisher, year

Copy — book, owner, condition, location tag, acquired date

ReadingLog — copy, start, finish, rating, review

Note — copy, page, text, tags

Loan — copy, borrower, lent_on, due, returned_on

08

Integrations

  • Open book metadata API
  • Barcode scanning via device camera
  • Optional export to CSV

09

UI design principles

  • Generous whitespace, a two-font system, and a palette of three colours at most.
  • Photography and typography do the work; borders, shadows and gradients stay almost invisible.
  • Every screen has one clear primary action, placed in the same spot each time.

10

Security considerations

  • Everything private by default; public shelves are an explicit per-shelf opt-in.
  • Borrower names are personal data — keep them local to the owner's account.
  • Full export and account deletion available without asking support.

11

Development phases

Phase 1 — Prove the core

  • — Add books by ISBN scan, search or manual entry
  • — Shelf view with cover grid and physical location tags (room, shelf)
  • — Reading log with start/finish dates, ratings and progress
  • — Static content and design system in place
  • — Basic analytics

Phase 2 — Make it real

  • — Notes and quotes attached to page numbers, searchable across the library
  • — Lending record: who, when, reminder, returned
  • — Wishlist with price alerts or simple manual tracking
  • — Accounts, sign-in and password reset
  • — Empty, loading and error states everywhere

Phase 3 — Polish and launch

  • — Performance, accessibility and SEO pass
  • — Legal pages, contact route and 404 handling
  • — Wire up: Open book metadata API
  • — Wire up: Barcode scanning via device camera

Phase 4 — Grow

  • — Public shelf sharing
  • — Import from other services
  • — Household multi-user libraries

12

Challenges and solutions

Risk — Bulk entry is tedious

Solution — Continuous barcode scanning mode that adds books without leaving the camera.

Risk — Metadata gaps for local-language books

Solution — Manual entry with cover photo capture as a first-class path, not a fallback.

Risk — Sync conflicts across devices

Solution — Last-write-wins per field with a visible conflict log for notes.

13

Future expansion

  • Neighbourhood lending network
  • Reading goals and yearly review
  • Insurance-ready collection valuation

14

Page list (13 pages)

  1. 01 PUBLIC Shelf — The library itself, browsable and searchable.
  2. 02 PUBLIC Stats — Pages, genres, pace and yearly review.
  3. 03 PUBLIC Notes — All quotes and margin notes, searchable.
  4. 04 PUBLIC Lent — What is out of the house and when it is due.
  5. 05 PUBLIC Wishlist — Books to acquire.
  6. 06 AUTH Sign up — Create an account with email or a social provider.
  7. 07 AUTH Log in — Return to the account, with error and lockout states.
  8. 08 AUTH Reset password — Request a reset link and set a new password.
  9. 09 APP (signed in) Account settings — Profile, email, password, language and delete account.
  10. 10 PUBLIC Contact — Contact form plus real address, phone and email.
  11. 11 LEGAL & SYSTEM Privacy policy — What data is collected, why, and how to remove it.
  12. 12 LEGAL & SYSTEM Terms of service — Rules of use, liability and account termination.
  13. 13 LEGAL & SYSTEM 404 not found — Friendly dead end with search and links back.

15

Page map

PUBLIC       AUTH               APP (signed in)      LEGAL & SYSTEM
───────────  ─────────────────  ───────────────────  ───────────────────
├─ Shelf     ├─ Sign up         └─ Account settings  ├─ Privacy policy
├─ Stats     ├─ Log in                               ├─ Terms of service
├─ Notes     └─ Reset password                       └─ 404 not found
├─ Lent
├─ Wishlist
└─ Contact

key flows:
  Shelf ──▶ Notes
  Shelf ──▶ Lent
  Wishlist ──▶ Shelf