Mobile app · knowledge graph
Bible Learning App
A Bible learning app built around a knowledge graph connecting people, places, events, and themes across Scripture, with spaced-repetition review instead of a lesson checklist.
- Year
- 2026
- Status
- Active — building
- Stack
- React Native · Expo · TypeScript
Most Bible apps are either a reading plan or a trivia quiz. What I actually wanted was something that treats the Bible the way it is: one connected story, where a name in Genesis matters again in Revelation. So instead of building lessons first and bolting on some "related verses" feature later, I built a knowledge graph first. People, places, events, miracles, parables, prophecies, and themes are all nodes with real edges between them, and everything else in the app reads from that.
A web, not a straight line
You start from one choice, like picking a place (say, Egypt) from a list. The app doesn't hand-pick what to show you next: it pulls whatever's actually connected to that place through real graph edges, which is why Moses shows up. It's not that I decided Moses belongs there, it's that Scripture does. Finish a lesson and you get exactly one decision: "want to learn more about X?" where X is some specific detail from what you just read. Say yes and it branches to a lesson connected by theme rather than sequence, which can land you in a completely different book. Say no and it continues on the main path. So the app isn't a straight line through the text, it's a web you wander, and every branch is a real graph edge, not a curated "related content" list.
Your profile is a constellation view of your own unlocked subgraph, not a generic stats page, for the same reason: if a feature isn't derived from the graph, I've been cutting it rather than shipping a fake counter next to it.
Spaced repetition, not a checklist
Review runs on a classic 5-box Leitner scheduler over questions generated from the graph, so what you've learned is scheduled to resurface instead of disappearing the moment you finish a lesson. Streaks and progress are computed from actual activity and completed lessons, not a separate counter that can drift out of sync with what you've really done.
- Content
- 445 curated questions across the Bible, compiled into lessons and review items
- Graph
- 13 entity types (people, places, events, miracles, themes, etc.), BFS pathfinding
- Review
- 5-box Leitner spaced repetition, generated from the graph
- Tests
- Unit-tested with a passing suite, typechecked, linted
Where it actually is
The lesson flow, graph, pathfinding, and review system all work locally right now. Content still lives on-device, not in a real database yet. Moving that onto Supabase is the next real step, alongside making journeys (guided sequences through the graph, like following one character's arc) generated from the graph instead of hand-typed. This is the project I'm most invested in and the one I'll keep building through the semester, alongside coursework and internship applications.