Context
A reading and study product is not only a content viewer. People return to it over time, add personal work, build habits, search for connections, and expect their place to remain intact across changing network conditions and devices.
My Bible is an active cross-platform mobile product designed around that continuity. The experience needs to feel calm while the system underneath handles offline data, search, personal annotations, plans, reminders, community, and recovery.
The operating problem
Content-heavy mobile products can become cluttered quickly. Each new capability competes with the primary act of reading. Connectivity adds another tension: a product centered on a personal practice should not become unavailable because a network is weak.
The product needed to hold several concerns together:
- Fast, readable content
- Useful search
- Personal annotations
- Plans and reminders
- Community features
- Offline operation
- Backup and restore that does not discard newer work
Solving any one feature in isolation would be easier. The work is making them feel like one respectful system.
My responsibility
I created the product and lead its design and engineering across interaction, cross-platform architecture, local data, search, workflow behavior, and recovery.
I make the tradeoffs between capability and calm. A feature belongs only when it supports the core practice and can be operated reliably.
What I built
My Bible uses React Native, Expo, and TypeScript to serve both major mobile platforms from one product architecture.
The experience connects:
- Reading and navigation
- Search and discovery
- Highlights, notes, and annotations
- Plans and progress
- Reminders
- Community
- Additive backup and restore
The interface gives reading priority. Secondary tools stay available without turning every screen into a control panel.
A companion public data pipeline converts redistributable USFM sources into structured JSON while preserving paragraph structure, poetry, footnotes, cross-references, licensing metadata, and stable text offsets for annotations.
What I automated
Plans and reminders turn an intention into a recurring path through the product. Backup workflows protect personal work without demanding constant attention. Synchronization boundaries coordinate what can happen locally and what depends on a connected service.
Automation remains quiet. It should support the practice, surface a useful next action, and step back.
How I hardened it
Offline behavior is a first-class constraint rather than a fallback screen. Reading, navigation, and personal work need deliberate local behavior. Network-dependent capabilities must fail clearly without making the rest of the product unusable.
Recovery is also designed around a critical rule: restoring an older backup should not casually erase newer work. Additive restore makes protection safer by bringing preserved work back into the current state instead of treating recovery as a blind replacement.
Case-study visuals use app-owned interface material and public-domain text only. Personal annotations and community information remain private.
Outcome
The product brings reading, study, planning, reminders, and personal work into one mobile experience that remains useful without a connection. Its architecture protects continuity while its interface keeps the focus on content.
The larger lesson is that calm products are not simple underneath. They are carefully bounded.
Working principles
- Make the primary practice obvious.
- Design offline behavior before it becomes an incident.
- Keep secondary tools close but visually quiet.
- Treat personal annotations as durable user work.
- Prefer additive recovery over destructive replacement.
- Let automation support attention instead of competing for it.
Related note: Build, automate, harden.