The Gap
Prayer is the most universal spiritual practice on earth. Billions do it daily across every faith tradition. But it is almost entirely invisible. You cannot see who is praying for you. You cannot know that someone across the world just lifted your name. The whole practice exists in isolation.
PrayerMap was born from a simple question: what if you could make the invisible visible? What if prayer had a real-time map, and you could watch connection lines form between strangers across oceans? Not a social media play. Not monetization. A pure non-profit ministry tool.
What started as that question became a 6-platform application with augmented reality, real-time voice channels, a native Apple Watch companion app, and a 6-dashboard admin command center.
Built for Every Screen
iOS
App Store, Build 148
iPadOS
iPad Pro optimized
macOS
Mac Catalyst
watchOS
Native SwiftUI
Android
Awaiting Testing
Web
prayermap.net
The Living Map




iPad




What It Does
The Living Map
Real-time global prayer map on Mapbox GL (SDK 11.16.2). Prayer requests appear as glowing nodes. When someone prays for a request, a Memorial Connection Line animates between the two locations at 60fps using react-native-reanimated, persisting for one year.
The map breathes. It shows you that you are not alone.
AR Prayer Vision
Point your phone at the world and see prayer requests floating in 3D space. Uses ViroReact to place geo-anchored prayer objects at their real-world GPS coordinates. Compass-aware, GPS-precise.
A HUD overlay shows tracking status, prayer count, and compass direction. iOS only.
Community Groups
Full group system with text channels, voice channels, and video channels. Roles, permissions, invite links, real-time presence.
Voice and video powered by LiveKit with a dedicated worship mode for shared audio experiences.
The Watch App (764 Lines That Changed Everything)
Not a companion widget. A complete standalone SwiftUI Apple Watch experience: feed browsing, audio prayer recording, prayer creation, group chat, maps, guided prayer sessions, HealthKit integration, and a Qibla compass.
All enabled by a custom 764-line Expo config plugin bridging React Native's build system to native watchOS targets.
Swipe Through Prayer
Vertical swipe discovery modeled after TikTok. Audio, video, and text prayers with auto-moderation via TheHive.ai.
Anonymous posting with admin visibility. Content surfaces by location, faith tradition, and spiritual lens preferences.
Six Traditions, One Map
Serves Christianity, Islam, Judaism, Hinduism, Buddhism, and Sikhism, each with sub-traditions and genre classifications.
The Spiritual Lens lets users filter the entire app through their faith perspective without siloing communities apart.
The Engine Room
The decision to use Expo SDK 54 with React Native 0.81 and React 19.1. Bleeding edge on purpose. For a solo developer, the new architecture (Fabric renderer, TurboModules, bridgeless mode) means fewer native module headaches and faster iteration. The tradeoff is being first to hit undocumented bugs. Worth it, every time.
Supabase runs the entire backend. Postgres + PostGIS for geospatial queries that power the living map. Auth for multi-provider login (Apple, Google, email). 47 Edge Functions handling everything from prayer submission to moderation callbacks. Realtime subscriptions for live presence and group chat. Storage for audio recordings, video prayers, and profile media. One platform, zero infrastructure management.
198 database migrations. That number tells a story. It does not mean the schema was wrong 198 times. It means the data model got better 198 times. Solo development without a deadline means the freedom to refactor when you learn something new. Every migration is a lesson encoded in SQL.
The 3-tier AI behavior monitoring engine: client-side rules running at sub-50ms for immediate content filtering, edge functions for mid-tier analysis (spam detection, pattern matching, abuse scoring), and deep AI pipelines for complex pattern detection across user behavior over time. Three layers because no single layer is fast enough and thorough enough at the same time.
6-Area Admin Console
Every production prayer feed needs an operations layer. PrayerMap's admin console is a standalone React app covering six surfaces, from content moderation to deployment tooling.
Admin Dashboard
Prayer moderation, user management, analytics, and community oversight
Outreach
Church and org lead pipeline, email campaigns, and CRM tracking
Website
Style guide, saved assets, landing page management, and design inspiration
Behavior Monitor
Live event stream, rule management, pivot analytics, and feature flags
Development
Build monitoring, deployment tools, RAG training, and system health
Screenshots
App screenshot library, visual regression, and App Store assets
47
Edge Functions
198
Database Migrations
6
Admin Dashboards
6
Platform Targets
148
Current Build
The Road
Voice-nav prayer overlay, CarPlay/Android Auto
What Building This Taught Me
Solo mobile dev shipping is a different beast from web. App Store review, code signing, provisioning profiles, TestFlight distribution, device-specific crashes that only reproduce on hardware you do not own. These are real barriers that teach a discipline web deployment cannot. Every rejected build is a lesson in reading Apple's guidelines like a lawyer.
Building for 6 platforms simultaneously forces you to think in abstractions. You cannot hardcode anything. The custom Expo config plugin for watchOS was not a fun weekend project. It was weeks of reverse-engineering Xcode build phases, understanding how React Native's Metro bundler interacts with native targets, and writing 764 lines of JavaScript that modify the .xcodeproj at prebuild time. The kind of work that has no tutorial.
The hardest part was not the code. It was scope discipline on a project with no paying customers and no deadline. Ministry work has to be its own motivation. 198 migrations means 198 times the thought "this isn't good enough yet." That is either obsession or dedication, and the line between them is whether you eventually ship. Build 148 is in the App Store. That is the answer.
Non-profit does not mean non-professional. The admin system, the moderation pipeline, the behavior monitoring: these exist because real people will use this to share their most vulnerable moments. Someone will post a prayer about a dying parent. Someone will share their addiction recovery. The engineering has to be worthy of that trust. Every Edge Function, every RLS policy, every moderation layer is a promise that their vulnerability will be protected.
April 2026 · -JJ
Tech Stack
Mobile
Frontend
Backend
AI
Tooling
Observability
Infrastructure
Want to discuss the architecture?
Get in Touch