Skip to content
All posts

No Accounts, No Passwords: Why My Apps Don't Have a Login Screen

Six apps, zero sign-up forms. Here's the actual reasoning behind skipping accounts entirely — what it costs, what it removes, and where the line is.

MFKAPPS 4 min read

Granyn, Hydrame, Subly, Stocky, Mintly, OldSchool — six apps, six different jobs, and not one of them has ever shown you a sign-up form. No email field, no password rules, no “verify your account” email sitting unread in a spam folder. You open the app and it works.

That’s not an oversight. It’s the default I start every app from, and I have to actively argue myself out of it when a feature seems to want one.

The default nobody questions

Account creation became the default screen one for almost every app, including plenty that have no real reason to ask. A pantry tracker doesn’t need to know who you are to remember that you’re out of eggs. A budgeting app doesn’t need your email to categorize a coffee purchase. Somewhere along the way, “sign up first” stopped being a deliberate choice and became muscle memory for developers — copy the template, wire up auth, ship.

The cost of that default lands entirely on the user, before they’ve seen a single feature: a password to invent, a captcha to solve, an email to confirm, sometimes a phone number for “verification.” That’s real friction spent on zero value, charged upfront, on every single install.

What an account actually buys — and who it buys it for

Be honest about the trade: an account mostly benefits the developer, not the user. It gives you a stable ID to build analytics around, a lever to re-engage people by email, and a way to justify a subscription tied to “your data, in our cloud.” None of that is inherently evil, but none of it is free either.

What it costs you back is a server that stores personal data, a database that’s now a breach target, a password-reset flow you have to build and maintain, and a support inbox that fills up with “I forgot my password” and “can you delete my account” tickets. For a solo developer, that’s not a minor line item — it’s an entire second application running alongside the one people actually wanted.

What local-first replaces it with

Instead of an account, each app treats the device as the account. Data lives in a local SQLite database via Room, from the first launch. There’s nothing to log into because there’s nothing on a server waiting to be claimed.

Backup and restore still exist — they just don’t need a username to do it. On Android, that means Storage Access Framework export/import for a portable file you control, plus Auto Backup for App Data as a safety net that doesn’t require you to think about it at all. If your phone dies, you restore from that file, not from a password you have to remember from eighteen months ago.

Granyn is the clearest case for this. It’s a budgeting app — the one category of app people are most reluctant to hand a login to, because a budgeting account implies a server that knows your income and your spending habits. Granyn never asks, because it never needs to know who you are, only what you spent.

OldSchool makes the same case from a different angle: it’s medication data, which is about as sensitive as personal data gets. The right amount of infrastructure for tracking whether you took a pill is none — not a server, not a login, not a third party who could be breached.

The honest trade-off

This isn’t free. No account means no automatic sync across two phones. If you switch devices, you export and import manually — one extra step, on purpose, instead of an invisible background sync you’d have to trust a server to handle correctly. It also means there’s no “I lost my phone, log in from a new one and everything’s back” moment. The backup file is the account, and losing it without a backup means losing the data.

I think that trade is worth it for what these apps do. None of them are collaborative — nobody needs to share a pantry inventory with a stranger, or a hydration log with a team. If a feature genuinely needs multiple people to see the same data in real time, that’s the point where an account starts to earn its cost. I haven’t hit that point yet with any of the six.

Where the line actually is

The rule I use is simple: if a feature can work without knowing who you are, it doesn’t get to ask. A login screen isn’t a default setting — it’s a specific trade a specific feature has to justify, in exchange for something the user can feel: sync, sharing, or a service that genuinely can’t run on-device. Absent that, the honest answer to “why is there no sign-up” is that there was never a good reason to build one.