Skip to main content
ShirePath Solutions

Drawing 02.2, community platform

Biblical Battle Plans

A Bible reading tracker built like a role-playing game: reading plans, streaks, XP, guilds, and a journal. A web app that works offline, with a native iOS app in testing on the same API.

VercelVercelNeonsessionbearer tokenDrizzledue readersreminders123456Web appiOS appNext.js APINeon PostgresVercel CronAPNs, Web PushVercelVercelNeonsessionbearer tokenDrizzledue readersreminders123456Web appiOS appNext.jsAPINeonPostgresVercelCronAPNs, WebPush
Fig. 1. Version two: the web app and the iOS app read the same API instead of their own copy of the rules.
Parts list for Biblical Battle Plans
No.PartWhat it does here
1Web appPlans, streaks, guilds, and the journal, with offline reading that syncs when it reconnects.
2iOS app (in build)The native SwiftUI client in TestFlight, built on Swift types generated from the web's contracts.
3Next.js APIAbout 75 route handlers over one services package; sessions for the web, bearer tokens for iOS.
4Neon PostgresReaders, plans, progress, guilds, chat, device tokens, and the error log, through Drizzle.
5Vercel CronHourly reading reminders and a nightly streak warning.
6APNs, Web PushDelivers the reminders to phones and browsers.

Why it exists

I wanted a Bible reading tool that felt like a game, not a chore. Nothing like it existed, so I built it.

What went wrong, and what it taught me

It hit its limits around a hundred users: no test environment, and the rules of the game buried in database queries. I rebuilt it as version two, with the rules in one services package behind the app's API routes, covered by tests, and with every error logged, flagged in Slack, and summarized for me by Claude when I ask.

That rebuild is paying off twice. The native iOS app calls the same routes the web app does, with Swift types generated from the TypeScript contracts, and the build fails if the two drift apart. The TestFlight build has the Home, Quests, and Hero tabs, reading check-offs on the dashboard, side quests, the church calendar, the web's animated tier sprites, and reminder settings. Reminders go out from an hourly and a nightly cron, by web push and by Apple push.

What it does

  • Reading plans with daily progress
  • Streaks with shields, XP, levels, and achievements
  • Guilds with leaderboards, chat, and prayer requests
  • Offline reading that syncs when it is back online
  • Reminders by web push and Apple push
  • A native iOS app in TestFlight on the same API

Plates

Plate 1. Biblical Battle Plans, as it looks live.

© 2026 ShirePath Solutions LLC. Built by Conner Contreras and crew in Columbia, Tennessee.