Skip to content

TanyaMarie-T/Narrative-Index

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

The Narrative Index

Find the book that was written for you.

A community-built, ethically sourced book metadata platform that helps readers find books by what is actually inside them — and helps authors reach the readers who will love them most. Built by readers and authors, not algorithms.

A Recipe for a Good Read.


What is TNI?

Current book discovery tools rely on algorithms, popularity rankings, and keyword search. These systems fail two groups:

  • Readers who know what kind of reading experience they want but cannot express it in keywords that match any existing search system
  • Indie authors who write excellent books for specific audiences but cannot reach those audiences because discovery systems favor commercially dominant titles

TNI indexes books by their actual internal content — emotional experience, representation, content warnings, tropes, pacing, magic system rules, romance centrality, and more. Search supports both positive assertions (books with a thing) and negative assertions (books without a thing). No algorithm. No popularity ranking. No ads.


Status

Phase 1 — Active Development (March 2026)

  • 36-table PostgreSQL schema deployed (Supabase)
  • Full taxonomy system: genres, subgenres, tropes, vibes, aesthetics, themes, content warnings, heat level
  • 9,600+ works indexed with genre tags and standalone status
  • J.M. Samland complete catalog — prototype author dataset
  • Fantasy Edition Recipe Card designed
  • GitHub Sponsors and Ko-fi active
  • Reader-facing search interface (Phase 2)
  • Author submission portal (Phase 2)
  • RMFA report generation (Phase 2)
  • OWWL library pilot (Phase 2 — requires 500+ fully tagged books)

Commercial Product

Reader Market Fit Analysis (RMFA) — a paid report for authors identifying which reader communities in the TNI database would be most likely to love their book, and why. RMFA revenue funds platform operations and sustains the open-source mission.


The Database

TNI is built on PostgreSQL (hosted on Supabase). The schema consists of 36 tables organized into:

Group Purpose
Core entities Works, editions, authors, series, worlds, publishers
Taxonomy 10 taxonomy categories, 1,277+ terms, work-term links
Junction tables Work-author links, series positions, reading order schemes
Provenance Source tracking for every canonical record
Workflow Submission staging and DBM approval pipeline
Users / Roles Authentication and role-based access

Key Schema Decisions (v3.0)

  • assertion_type on tni_work_terms — enables positive and negative search (present / absent / unknown)
  • is_experience_secret — spoiler-sensitive tags hidden until reader toggles
  • tni_work_anthology_details — component-level metadata for short story collections and anthologies
  • tni_author_pen_names — links multiple author identities to one person
  • Multiple reading order schemes per series — supports Cosmere-style nested universe structures

Repository Structure

narrative-index/
├── README.md
├── LICENSE
├── funding.yml
├── schema/
│   ├── 01_migration_week1.sql      # Core tables: users, roles, publishers, authors, works
│   ├── 02_migration_week2.sql      # Remaining 30 tables
│   ├── 03_seed_roles.sql           # 6 user roles
│   ├── 04_seed_social_platforms.sql # 8 social platforms
│   └── 05_seed_taxonomy.sql        # 10 taxonomy categories + 1,277 terms
├── docs/
│   ├── TNI_SRS_v1_0.docx           # Software Requirements Specification
│   ├── TNI_UX_UseCases_v1_0.docx   # User Experience and Use Case Document
│   ├── TNI_System_Design_v1_0.docx # System Design Document
│   └── ERD_Schema_Reference_v3_0.docx
└── .github/
    └── funding.yml

How to Rebuild the Database

If you need to recreate the TNI database from scratch, run the migration files in order against a fresh PostgreSQL or Supabase instance:

-- 1. Run schema migrations in order
\i schema/01_migration_week1.sql
\i schema/02_migration_week2.sql

-- 2. Seed reference data
\i schema/03_seed_roles.sql
\i schema/04_seed_social_platforms.sql
\i schema/05_seed_taxonomy.sql

All migrations use IF NOT EXISTS and ON CONFLICT DO NOTHING — they are safe to run multiple times.


Contributing

TNI is community-built. There are three ways to contribute:

Index a Book

Fill out a Fantasy Edition Recipe Card after finishing a book and submit the data. Recipe cards feed directly into the TNI database as community-contributed metadata.

Tag a Book

If a book is already in the database but missing taxonomy tags, contribute tags through the submission portal (Phase 2). All submissions are reviewed by a Database Manager (DBM) before promotion to canonical records.

Suggest a Taxonomy Term

If you encounter a concept that has no existing term in the taxonomy, suggest a candidate term with a definition and example usage. The community reviews and approves new terms through a governed process.

What we do not accept:

  • Popularity-based ranking signals
  • Retailer affiliate data
  • AI-generated content warnings or representation tags (these require human reader knowledge)
  • Any contribution that identifies individual readers

Governance

TNI uses a structured submission and approval workflow. No community-submitted record goes directly to the canonical database — every submission is reviewed by a Database Manager (DBM) before promotion.

User roles: VISITOR → CONTRIBUTOR → AUTHOR → REVIEWER → DBM → ADMIN

Provenance rule: Every canonical record must link to at least one provenance record. No record is approved without a traceable source.

Lock status values:

  • seed — migrated from legacy data, not yet reviewed
  • ai_generated — inferred by AI from description, requires spot-check
  • submitted — community submission awaiting DBM review
  • reviewed — DBM-approved canonical record

License

GNU General Public License v3.0 — see LICENSE for full terms.

This license means TNI's code cannot be forked into a proprietary product and locked behind a paywall. The community built it. The community keeps it.


Funding

TNI is community-funded. No ads. No investor money. No publisher partnerships that would compromise editorial independence.

If TNI has helped you find a book or helped your readers find you, consider supporting the project.


Links


The Narrative Index is built in 20-minute sprints. Sustainable beats brilliant.

About

A community-built book metadata platform that helps readers find books by what's actually inside them — and helps authors reach the readers who will love them most.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors