DevelopmentPersonal

Why does a fasting timer need an account?

I want a fasting timer that starts instantly, keeps useful history, shows approximate metabolic stages, and leaves every bit of data in my hands.

I have been fasting on and off for years. I have done intermittent fasting, written about how long a fast needs to be, and once fasted for five days mostly to see what would happen.

The software requirement is not complicated.

I want to tap Start Fast, see how long I have been fasting, and tap End Fast when I eat again. There is no pause button, because that is not how fasting works.

Somehow, many fasting apps turn this into an account, a subscription, coaching, recipes, challenges, a water tracker, an AI food scanner, and a stream of promises about weight loss and metabolic health.

I don’t want a wellness platform. I want a good timer.

The app I want

The first screen should contain one large number: the time since the fast started. Underneath it, I want my target, the current approximate metabolic stage, the next milestone, and one clear button to end the fast.

Reaching a 16-hour target should not stop anything. A target is a marker. The fast continues until I actually end it.

The app should also survive the completely normal things a timer app has to survive: being closed, a phone restart, flying into another timezone, daylight-saving changes, and forgetting to start it until an hour after my last meal. Correcting the start time makes sense. Pausing does not.

Metabolic stages, without fake precision

I do want to see metabolic stages. They make a long fast easier to understand and give the elapsed time some context.

What I don’t want is an app claiming it knows the exact minute my body entered ketosis or started autophagy. A phone cannot measure that from a timer. Biology also does not run on identical schedules for everyone.

The stages will therefore be presented as broad educational time ranges: fed state, post-absorptive phase, increasing glycogen use, increasing fat use, increasing ketone production, and extended fasting. Every stage will clearly say that it is an estimate, not a personal measurement or medical advice.

Useful context, no fake dashboard science.

My data should be mine

Every fast is just a small record: a start time, an optional end time, and a target. There is no technical reason that record needs to live in a startup’s database.

The first version stores its history locally on the device. When iCloud is available, it can sync through the user’s private CloudKit database—the developer still cannot access it. There is no account, advertising, analytics SDK, or custom backend. The entire history is exportable as documented JSON and ordinary CSV. It can be imported again, edited, or deleted.

That is what “your data is yours” should mean in practice—not merely a sentence in a privacy policy.

The market already exists

I checked the current fasting apps before getting too attached to the idea.

Zero, Fastic, and BodyFast have become broad weight-loss and coaching products. Easy Fast is much closer to my idea: private, account-free, and built by a solo developer who fasts.

So “a private fasting timer” is not a unique pitch. That is fine. I am not trying to invent fasting. My version can be smaller and more opinionated: no subscription, no locked history, open export, no tracking, and no feature whose real purpose is to increase engagement.

Native where it matters

The app is written in SwiftUI and uses SwiftData for local history and private iCloud synchronization. A Live Activity keeps the fast visible on the Lock Screen and Dynamic Island. Home Screen widgets show elapsed time and the current stage without opening the app. A local notification can mark the selected target.

None of that needs a developer-operated server. The timer only needs to store when the fast started and derive the elapsed duration from the current time.

After rebuilding my currency app because Apple considered it too minimal, I also know that submitting a bare timer would be asking for another Guideline 4.2 rejection. History, editing, useful summaries, export and import, widgets, Live Activities, and accessibility make this a complete native utility without padding it with unrelated content.

It now has a name: Vasten: Fasting Timer. It is exactly the kind of small, specific tool I want to use myself—which is usually a good reason to build something.

The local-first promise is written down in the app’s privacy policy, too.