
A cross-platform iOS and Android app giving couples a private, offline-capable space to journal dreams, store shared memories, and schedule reminders — built with Expo, SQLite, and Firebase sync.
Couples lack a private, focused space for capturing personal moments. Existing journaling and photo apps are either general-purpose, tied to social networks, or offer no meaningful privacy protections — meaning sensitive memories can be exposed by screenshot, cloud breach, or simply poor UX defaults.
The client needed an app that felt personal and intimate, worked reliably without internet access, and treated privacy as a first-class feature rather than an afterthought. It also had to be built for both iOS and Android from a single codebase, without compromising native performance.
We built Mahu as an offline-first Expo app using SQLite and Drizzle ORM for all local data — meaning every journal entry, photo, and reminder is stored on-device first, with optional Firebase sync for cross-device access. This architecture guarantees zero data loss even in poor network conditions.
Privacy was engineered in at every layer: a passcode-gated app lock context wraps the entire navigation tree, screen capture is blocked system-level via expo-screen-capture, and media is handled with careful lifecycle management. The UI renders nothing sensitive until auth is confirmed, preventing any cold-launch exposure.
We structured the app around four focused surfaces — Dreams, Gallery, Reminders, and Profile — each with its own data model and navigation flow. Expo Router handled deep linking and tab structure cleanly, while FlashList replaced FlatList throughout for 60fps scrolling on large media libraries.
Database migrations were managed with Drizzle Kit, giving the client a robust toolchain for iterating on schema without data loss. Firebase was integrated as an optional sync layer rather than a dependency, so the app ships fully functional with no backend configuration required.
Single codebase, iOS and Android production builds
App works fully without internet — data never lost
Screen lock, capture prevention, and staged auth bootstrap from day one
Ready to build?
Book a free 30-minute strategy call. We'll scope your MVP, define the architecture, and tell you exactly what it takes to launch.
Book a free strategy callarrow_forward