Skip to content

// Writing

Notes from the journey

Thoughts on building calm, private software as a team of one.

RSS feed
MFKAPPS 4 min read

Building OldSchool's adherence calendar: turning dose taps into a day you can trust

A monthly adherence calendar looks like a single colored dot per day. Here's the event model, the day-status rules, and the on-time math behind it, on-device.

#android #engineering #room
MFKAPPS 4 min read

Building Subly: the calendar math behind subscription renewal dates

Predicting a subscription's next charge date sounds trivial until you hit month-end billing, leap years, and trial conversions. Here's how Subly gets it right, on-device.

#android #engineering #subscriptions
MFKAPPS 5 min read

Building Mintly: keeping a focus timer accurate when Android kills the process

A running Pomodoro timer has a harder reliability problem than a one-shot reminder. Here's how Mintly survives Doze, process death, and screen-off drift with a foreground service and a wall-clock end time.

#android #engineering #mobile
MFKAPPS 4 min read

A hydration routine that doesn't rely on willpower

Most hydration advice boils down to 'drink more water' and hopes willpower fills the gap. Here's a routine built around cues and gentle nudges instead.

#mobile #ux #reminders
MFKAPPS 5 min read

Building Granyn: a budget tracker with no bank login, in three tables

How Granyn tracks spending across currencies and catches recurring bills without linking a single bank account — the Room schema and the trade-offs behind it.

#android #engineering #privacy
MFKAPPS 4 min read

Android notification actions done right: marking a dose taken without opening the app

A practical guide to Android notification action buttons — PendingIntents, the trampoline restriction, goAsync(), and updating Room state safely.

#android #engineering #notifications
MFKAPPS 4 min read

The Pomodoro Technique that survives a bad day

The 25/5 timer is easy to start and easy to abandon. Here's a version of the Pomodoro Technique built around rituals, not streaks, so a rough day doesn't end the habit.

#ux #mobile #indie
MFKAPPS 5 min read

A budgeting system for people who've never stuck with one

Most budgets die in the first two weeks. A three-category system and a five-minute weekly check-in that survives a messy month, not just a perfect one.

#mobile #ux #indie
MFKAPPS 4 min read

Building Stocky: predicting what your kitchen runs out of — on the device

How Stocky turns a barcode scan and a bit of usage history into a shopping list that shows up before you run out — with all the math, and all the data, staying on your phone.

#android #engineering #privacy
MFKAPPS 5 min read

Building a medication routine you'll actually stick to

A practical guide to medication adherence — why people miss doses, how reminder timing actually works, and how to build a routine that survives a bad week.

#reminders #ux #notifications
MFKAPPS 2 min read

The site now speaks seven languages

MFKAPPS is now available in English, Turkish, French, Spanish, Japanese, Hindi, and Russian. A short note on why a one-person studio bothered, and how it stays fast.

#indie #ux #philosophy
MFKAPPS 7 min read

Privacy-first OCR on Android: how Subly reads bills without the cloud

A practical 2026 guide to on-device OCR on Android with ML Kit Text Recognition — the setup, the code, and the field extraction tricks that keep user data off your servers.

#android #engineering #privacy
MFKAPPS 4 min read

Building Hydrame: smart reminders without the nag

A reminder app lives or dies by its notifications. Here's how I designed Hydrame's to nudge you gently — and adapt to your day instead of fighting it.

#hydrame #engineering #ux
MFKAPPS 6 min read

Subscription overload: why I'm done linking my bank to apps

Subscription-tracker apps usually solve the problem by asking for your bank login. In 2026 there's a calmer way — on-device bill scanning, no Plaid, no aggregator.

#privacy #subscriptions #opinion
MFKAPPS 7 min read

Reliable Android reminders in 2026: WorkManager, exact alarms, and the new battery rules

How to ship reminders on Android in 2026 that actually fire — WorkManager vs AlarmManager, SCHEDULE_EXACT_ALARM, POST_NOTIFICATIONS, and the OEM quirks that still bite.

#android #engineering #mobile
MFKAPPS 7 min read

Local-first Android in 2026: SQLite, Room, and keeping user data on the device

A 2026 guide to building local-first Android apps with Room and SQLite — schema design, migrations, WAL, exports, and when (and when not) to add sync.

#android #engineering #privacy
MFKAPPS 7 min read

How I ship Android apps as a solo developer in 2026

An actual end-to-end launch playbook for shipping a Kotlin + Compose Android app alone in 2026 — scope, build, Play Store listing, and the boring bits that decide whether you ever launch.

#android #indie #mobile
MFKAPPS 3 min read

The privacy advantage of local-first apps

The most private data is the data you never collect. Local-first isn't just an architecture choice — it's the simplest privacy policy there is.

#privacy #engineering
MFKAPPS 3 min read

Why I left to build calm tools

Most apps are designed to keep you hooked. I wanted to build the opposite — software that does its job and then gets out of your way.

#indie #manifesto #philosophy