Liturgical Minimalism

Designing a quiet digital room for the 1928 Book of Common Prayer, edge-hosting the public domain, and coding traditional time.

I have spent much of my life retreating into abstraction. It is a comfortable habit—taking the messy, overwhelming details of reality and lifting them up one level into theory, where they can be organized, analyzed, and controlled. But reflection without grounding is addictive. It slides easily into isolation. To counter this, I have spent the last decade searching for practices that pull me back into the physical world, into structured time, and into real attachment with people and places. This project—a minimalist, distraction-free reader for the 1928 Book of Common Prayer (BCP) Daily Devotional Office—was born from that search. It is an attempt to use code not to capture attention, but to build a quiet room for reflection.

1. The Architecture of Finite Space

The modern web is an infinite archive. It is designed to slide seamlessly from one page to another, keeping the user in a state of perpetual anticipation. In building the BCP reader, the goal was to create the opposite: a finite, structured sequence. There are no hyperlinks leading away, no notifications, and no infinite scrolls. Instead, the interface acts as a physical booklet, stepping through a single daily office—Morning or Evening Prayer—one slide at a time.

We built three lengths into the office compiler:

2. Liturgical Time as an Algorithm

liturgical worship is organized around the church calendar, a complex cyclical rhythm that shifts year by year. Computing this calendar dynamically in vanilla JavaScript required mapping traditional calculations onto modern dates. The calendar engine calculates Western Gregorian Easter, Ash Wednesday, Pentecost, Trinity Sunday, and Advent Sunday on the fly. It then translates these weeks into traditional terminology (e.g., Monday of the Fourth Week after Trinity or Monday of the Second Week in Lent) and cross-references today's date against fixed Holy Days (like St. Peter's Day on June 29) to automatically appoint the proper lessons and Psalms.

3. Edge-Hosting the Public Domain

A central design decision was to keep the reader completely dependency-free and independent of external API endpoints. Most online scripture readers query external databases, which introduces latency, tracking scripts, and potential breakage. Instead, we parsed and compiled the public domain Coverdale Psalter and the Berean Standard Bible (BSB) into local text files.

We chunked the BSB into 66 separate, highly optimized JSON files—one for each book—and compiled the Coverdale Psalter into a unified JSON database complete with traditional Latin incipits. The client loads these files dynamically based on today's lectionary reference and caches them. This results in zero-latency rendering and complete reader privacy, hosted directly at the edge of the network.

4. Typographic Intent

The typography of the reader is designed to mirror the classic printed page. The lessons and Psalms are styled with warm serif fonts, floated dropcaps (floating the first letter of each lesson left with wrap-around text), small capitals for the opening words, and inline superscript verse numbers. We avoid heavy framework components, building the entire interface with clean HTML, native CSS, and vanilla JS. The layout remains light, legible, and predictable, focusing all energy on the text itself.

5. The Virtue of Quiet Code

Coding this reader reminded me that technology does not have to be noisy to be useful. By combining sentimental relational warmth with rigorous, grounded engineering, we can create spaces that respect our minds. The BCP project is not just a tool; it is a digital room. My hope is that it helps those who enter it step out of the coils of reflection, ground their attention, and more fully participate in the beautiful world around them.