// Case Study · 02 · Android App
Relive Your Journey.
// The Problem
Day One, Notion, even Google Keep — they all store your private thoughts on someone else's server. Your most personal memories are sitting in a database you don't control, behind a subscription you might cancel. That felt wrong.
What if a journal app stored everything directly in your own Google Drive? No server, no subscription, no company owning your data. Just you, your phone, and your Drive. MemoDate is that app — we literally have zero access to your journals.
// What it does
Every entry saves directly to your Google Drive as a structured file. Accessible from any device, forever, even without the app.
FerryPot has no backend, no database, no server. Your data never touches our infrastructure. Total privacy by design.
Write freely with mood tags, weather context, location stamps, and photo attachments — everything that makes a memory complete.
Scroll back through your life month by month. See entries as a beautiful timeline — not a flat list of notes.
Search across all your entries instantly. Find that memory from two summers ago in seconds.
Optional gentle nudge at a time you choose — because the habit of writing is what makes a journal valuable over time.
// Tech Stack
The entire backend is your Google Drive. That constraint shaped every technical decision.
// Key decisions
I stored entries as structured JSON files in Drive — one file per entry. This meant no Firestore, no server costs, no privacy policy exceptions. Drive's API handles versioning, backups, and multi-device access for free.
Room DB caches all entries locally. Reads are instant. Writes go to Drive via WorkManager background sync — so the app feels fast even on slow connections.
Compose made the timeline and editor much easier to build than XML. State-driven rendering meant the UI always reflected the sync state without manual refresh logic.
Since the storage is Drive, Google Sign-In is the only option — and that's actually a feature. Users trust Google with their data already. No password to forget, no extra account.
// Lessons learned
Zero-server architecture was the biggest differentiator. Users immediately trusted the app more when they saw their Drive folder filling up with their entries.
Drive API rate limits — Google throttles API calls per user. Had to build smart batching and retry logic to avoid hitting limits during bulk entry loads.
Jetpack Compose made the timeline beautiful and easy to maintain. The animation and state handling was far cleaner than XML views would have been.
Conflict resolution — if a user edits an entry offline on two devices, which version wins? Implemented a timestamp-based last-write-wins strategy.
The privacy story resonated. "We literally can't see your data" was a genuine differentiator that drove word-of-mouth installs.
Build the photo attachment feature first — it was the most requested feature and I shipped it late. Memories need photos.
Live on Google Play · Your data stays in your Drive · Always free