Skip to content
Visibility internal Owner _ Approver _ Created _ Updated _

Book Database Whitepaper

Building the Foundational Knowledge Graph for Personalized Human Growth


1. Introduction

Books remain the most comprehensive and enduring source of self-improvement knowledge. Yet the ecosystem is fragmented: thousands of titles overlap, contradict, or go unnoticed by the people who could benefit from them. Readers face bestseller noise, influencer bias, and generic lists with no path to personal application.

The Uvilo Self-Help Book Database fixes that by structuring global self-help literature into a unified, intelligent system mapped directly to the Uvilo Taxonomy (Issues, Aspirations, Practices across the eleven Domains of Life Balance). The result is a curated, contextualized, and actionable knowledge graph powering personalized recommendations, coaching tools, and adaptive learning programs.


2. Objectives

  • Comprehensive, structured catalog of English-language self-help books.
  • First-class links to the Taxonomy (issues, aspirations, practices, and domains).
  • Personalized discovery and guidance via hybrid recommendations and embeddings.
  • Programmatic learning artifacts (lessons, habits, metrics, quizzes) derived from books.
  • Extensible architecture to later include videos, podcasts, courses, and articles.

This database is the cornerstone of Uvilo’s knowledge graph—the bridge between human goals and the information needed to reach them.


3. Data Sources and Acquisition Strategy

3.1 Public APIs

  • Google Books API — Broad metadata (title, authors, ISBN, publisher, description).
  • Open Library API — Open bibliographic data (strong for older/public-domain).
  • CrossRef & Semantic Scholar — Citations/DOIs for academically grounded works.
  • Retailer/Affiliate APIs — Pricing, availability, and purchase links (Amazon PA-API, Bookshop.org, Audible API).

3.2 Web Scraping (when APIs fall short)

  • Scope: public metadata (title, summary, rating, review counts), not full text.
  • Controls: polite crawling, rate limiting, rotate identities, robots.txt compliance.
  • Verification: multi-source reconciliation to reduce noise and duplication.

3.3 Human Curation

  • Priority titles are hand-reviewed for taxonomy alignment.
  • Editorial style guide enforces consistent naming, tags, and mappings.
  • Store metadata and fair-use excerpts only unless content is open-license.
  • Keep attribution and outbound links to publishers/retailers.
  • Respect API ToS; cache only permitted fields; document provenance.

4. Metadata Model

Each book is a structured entity linked to taxonomy nodes. The base model is Resource, which maintains polymorphic relations to Books, Videos, and other types of self-help resources. This is implemented using PostgreSQL + pgvector for embeddings. Ta tags as String[], and links to Taxonomy issues/aspirations/practices via foreign keys (join table). See full schemas in Appendices.

4.1 Core Fields

fieldtypedescription
idStringPrimary key (CUID)
createdAtDateTimeInserted timestamp
updatedAtDateTimeUpdated timestamp
titleStringBook title
subtitleString?Optional subtitle
authorsString[]Primary author names (normalized)
publisherString?Publisher or imprint
publishedYearInt?Year of publication
isbn10String?ISBN-10
isbn13String?ISBN-13
languageStringLanguage code (e.g., en)
descriptionText?Publisher or extracted summary
purchaseLinksJsonLinks to Amazon, Audible, Bookshop, etc.
ratingFloat?Aggregated external rating (0–5)
reviewsCountInt?Count of ratings or reviews
tagsString[]Topic/theme keywords (editorial)
titleEmbeddingVector(1536)pgvector embedding of title/subtitle
summaryEmbeddingVector(1536)pgvector embedding of description
statusPublishStatusVisibility flag

Why String[] for tags? Editorial agility and speed. Taxonomy semantics are modeled with foreign keys, not tags.

4.2 Taxonomy Relations (FK joins)

Books link to the Taxonomy through a generic join with a role enum. This keeps a single table for all relations and allows strict constraints.

  • Join model: BookTaxonomy
  • Type enum: TaxonomyType = issue | aspiration | practice

5. Data Ingestion and Normalization

ETL (Extract, Transform, Load) pipeline:

  1. Extract — Pull from APIs, scrape when necessary (metadata only).
  2. Transform — Clean names, dedupe, enrich (ratings, citations), compute embeddings.
  3. Load — Upsert canonical records; attach taxonomy relations with weights/notes.

5.1 Deduplication & Canonicalization

  • Keys: (isbn13), fallback to (title, authors[]) with trigram/fuzzy thresholds.
  • Normalize author names; unify publisher strings.
  • Edition handling: master record + edition variants (optional Phase 2).

5.2 Enrichment

  • NLP keyword extraction; embeddings for semantic search.
  • Popularity metrics: ratings, reviewsCount, salesRank when available.
  • Confidence scores on auto-tagging to guide human review.

5.3 Validation

  • Automated schema/constraint checks.
  • Editorial queue for top-impact titles and low-confidence mappings.

6. Integration with the Uvilo Taxonomy

6.1 Automated Mapping

  • Embedding similarity against Taxonomy names/descriptions/tags.
  • TF‑IDF and keyword heuristics for transparent matches.
  • Threshold+top‑k strategy to create draft BookTaxonomy rows.

6.2 Manual Curation

  • Editors confirm/revise relations; add role (ISSUE/ASPIRATION/PRACTICE).
  • Apply weights (e.g., 60, 80, 100) to express relevance strength.
  • Document rationales in note for auditability.

6.3 Cross-Linking

  • The same Taxonomy nodes will later link videos, podcasts, courses—enabling multi-modal guidance via one semantic spine.

7. Recommendation and Discovery

7.1 Hybrid Approach

  • Content-based: embeddings + taxonomy overlap.
  • Collaborative: implicit feedback (clicks, saves), explicit ratings.
  • Contextual: prioritize active domains, declared issues/aspirations, recency.

7.2 Example (minimal)

User flags chronicStress. System returns books linked via (chronic_stress → mindfulness_basic); adjacent Mind/Work content expands options without diluting relevance.

7.3 Metrics

  • CTR to detail page; add-to-plan; completion of practice plans.
  • Relevance precision@k; user satisfaction (thumbs/ratings).
  • Conversion to purchase (Amazon/Bookshop/Audible).

8. Implementation Roadmap

Phase 1: Foundation

  • Top ~500 canonical titles; manual taxonomy mapping.
  • API connectors; initial embeddings; basic search.

Phase 2: Scale & Automate

  • +2,000 titles; auto-tagging + review queues.
  • Public discovery endpoints; richer metadata (awards, editions).

Phase 3: Intelligence

  • Personalized plans; adaptive summaries; sequence recommendations.
  • Cross-modal expansion (videos, podcasts, courses).

Phase 4: Globalization

  • Multilingual ingestion; regional curation; publisher partnerships.
  • Continuous model retraining and A/B optimization.

9. Shared Architecture and Ethics (abridged)

  • DB stack: PostgreSQL + pgvector; Prisma/ZenStack models; GIN/ivfflat indexes.
  • APIs: REST/GraphQL; endpoints for search, nearest-neighbor, taxonomy lookups.
  • Governance: editorial review, versioning, provenance.
  • Compliance: metadata-only storage; ToS-compliant scraping; attribution across UI.
  • Privacy: no PII in book records; recommendation explanations available.

10. Conclusion

The Uvilo Self-Help Book Database turns a noisy market into a navigable, personalized map of wisdom. By anchoring every title to the Uvilo Taxonomy and layering embeddings, we deliver precise, explainable recommendations and ready-to-use practice plans.

Books are the starting block. With the same spine, we’ll unify videos, podcasts, and courses—turning scattered insights into a living system for human growth.