kennethreitz 087e5a59d8 Second pass on the family tree landing: let it breathe
The first pass only tokenized colors; the page was still squeezed into
a 55% container (~420px) with boxes nested in boxes. Now:

- container widened to a 56rem measure; the intro reads at full prose
  width with per-section measures instead of one global squeeze
- Find a Person is an open lookup block with a bronze label, not a
  320px card
- Interactive Tree / Messianic Lineage are proper hero cards with
  bronze "Explore the tree →" / "Trace the line →" affordances
- the Overview is a stat-card row in the manner of the books index
  (479 TOTAL PEOPLE, 41 TOTAL GENERATIONS...), value-first markup with
  the JS-populated ids preserved
- Overview/The Generations headings take the gold-tipped small-caps
  treatment; generation rows get bronze small-caps person counts and
  accent hover; section boxes unboxed

All 976 tests pass.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 09:49:51 -04:00
2026-07-05 20:21:52 -04:00
2026-06-28 02:32:01 -04:00
2026-07-05 23:32:14 -04:00
2026-07-05 23:32:14 -04:00
2026-07-05 23:32:14 -04:00

KJV Study

A scholarly web application for deep study of the King James Bible — pairing the 1769 Cambridge text with original language tools, AI-powered commentary, and classical typography inspired by Edward Tufte.

kjvstudy.org


Overview

KJV Study provides the complete King James Bible (31,102 verses) alongside an extensive suite of research tools: interlinear Hebrew and Greek analysis, Strong's Concordance, cross-references, topical indexes, genealogies, reading plans, and verse-by-verse AI commentary. The entire application is served as a fast, accessible web experience with a full REST API.

git clone https://github.com/kennethreitz/kjvstudy.org.git
cd kjvstudy.org
docker compose up
# → http://localhost:8000

Features

Scripture

Original Languages

Commentary

AI-powered verse-by-verse theological analysis with chapter overviews, book summaries, historical context, word studies, and reflection questions — generated for all 66 books.

Study Resources

Theology Christology, Soteriology, Eschatology, Pneumatology
People Twelve Apostles, Women of the Bible, Prophets, Angels
Themes Parables, Covenants, Names of God, Fruits of the Spirit
History Timeline, Maps, Festivals
Guides Gospel, Salvation, New Believer, Prayer & Faith, &c.
Plans One-Year Bible, 90-Day NT, Chronological, &c.

39 resource categories, 36 study guides, 36 topical indexes, 12 reading plans, 25+ biblical stories (with children's versions).

Family Trees

429+ biblical figures across 77+ generations from Adam through the New Testament — with interactive ancestor/descendant navigation, biographical data, and GEDCOM-based genealogy.

PDF Export

Downloadable PDFs for verses, chapters, books, study guides, stories, and reading plans.

Accessibility

Keyboard navigation (Vim-style and arrow keys), screen reader support, text-to-speech, dark mode with system preference detection, and adjustable font sizes. See /accessibility.


Architecture

kjvstudy_org/
├── server.py                # Responder application (ASGI app = `api`)
├── kjv.py                   # Bible text access
├── routes/        # 16 route modules (register(api) each)
├── utils/                   # Search, PDF, commentary helpers
├── templates/               # 77 Jinja2 templates
├── static/                  # Tufte CSS, ET Book fonts, JS
└── data/                    # Bible text, commentary, interlinear,
                             # Strong's, cross-references, topics,
                             # study guides, reading plans, stories,
                             # genealogy, timeline, and more
Backend Responder, Python 3.13/3.14, Granian
Frontend Tufte CSS, ET Book, vanilla JS
Data JSON, SQLite (search), gzip (interlinear)
PDF WeasyPrint
Packaging uv
Infrastructure Docker, nginx, Dokploy
CI/CD GitHub Actions

API

Full REST API with interactive documentation.

GET /api/verse/{book}/{chapter}/{verse}
GET /api/verse-range/{book}/{chapter}/{start}/{end}
GET /api/books/{book}/chapters/{chapter}
GET /api/search?q={query}
GET /api/interlinear/{book}/{chapter}/{verse}
GET /api/strongs/{number}
GET /api/cross-references/{book}/{chapter}/{verse}
GET /api/topics/{topic}
GET /api/reading-plans/{plan}
GET /api/verse-of-the-day
GET /api/bible

All endpoints support book name abbreviations (Gen, Ex, Mt, Rev, &c.).


Development

# With Docker (recommended)
docker compose up

# Without Docker (requires Python 3.13+ and uv)
uv sync
uv run kjvstudy-org

# Tests (941 tests across 16 files)
uv run pytest tests/ -v

# Data validation
uv run python scripts/validate_data.py

Deployment

Deployed via Dokploy from Docker on every push to main (after CI passes). Production runs behind nginx for static asset caching, with Granian serving the Responder application. Health checks, auto-recovery, and HTTPS are configured out of the box.


License

ISC License. See LICENSE.


"Study to shew thyself approved unto God, a workman that needeth not to be ashamed, rightly dividing the word of truth." — 2 Timothy 2:15

S
Description
No description provided
Readme ISC 148 MiB
Languages
HTML 46.8%
Python 45.4%
JavaScript 6.4%
CSS 1.3%