Privacy-first Android journal
MindScribe
Journaling that treats your words as sensitive data.
- Role
- Solo · Android
- Focus
- Mobile · Product
- 25
- classes
- 3,857
- lines of Java
- AES-256
- encrypted prefs
- 14
- guided prompts
Overview
A native Android journaling app built on one conviction: what people write about their own lives is sensitive data. The journal locks independently of the phone, writing never blocks on the network, and journaling is guided rather than blank-page.
What it does
- Biometric unlock with PIN fallback — salted SHA-256, the PIN is never stored
- Voice dictation, image attachments, one-line mode and time capsules
- Real-time list across devices with composable category, date and text filters
- Luna daily prompts, writing streaks and a mood distribution chart
- Owner-only Firestore and Storage rules committed to the repo
Engineering decisions
01
Offline is a feature, not a fallback
Notes commit to Firestore’s local cache instantly; uploads are handed to WorkManager and finish after process death or reboot.
02
Deliberately legible
Plain Java with ViewBinding — no reactive framework, no DI container — so the data flow reads end to end.
Stack
- Android
- Java 8Material 3ViewBindingWorkManager
- Security
- BiometricPromptEncryptedSharedPreferences
- Backend
- Firebase AuthCloud FirestoreCloud Storage