Shipping Lyffe: a life planner with no account and no server
What I decided and what I shipped building Lyffe, an iOS planner for tasks, habits, journal and money that keeps all data on the phone.
Lyffe is a life planner I designed, built and released on the App Store on my own. It puts countdowns, tasks, habits, a journal and personal finance in one app. The decision that shaped everything else was this: there is no account, no sync and no server.
What is in it
- Countdowns with custom backgrounds and repeat rules.
- Tasks with due dates, priorities and local reminders.
- Habits with streaks and milestones.
- A journal with mood tagging and a calendar view.
- Money: accounts, transactions, budgets, savings goals, loan tracking and invoicing.
- Export to CSV and PDF, so the data is always yours to take.
Offline first, because the data is personal
A journal and a budget are about as personal as app data gets. I did not want to hold any of it, so everything is stored on the device in SQLite. That removes a whole list of work: no sign-up flow, no password reset, no backend to run or secure, and no data to lose in a breach. The app ships with no analytics, no crash reporting and no advertising, and its App Store privacy label says it collects no data.
The cost is real, and I chose it knowingly. With no server there is no sync between devices, so a new phone needs an export. For this kind of app I think that is a fair trade, and CSV and PDF export keep it honest.
The money part is the biggest part
Personal finance looks like a small feature and turns into most of the app. Lyffe has multiple accounts, transactions, budgets, savings goals, loan tracking and invoicing. All of it follows the same rule as the rest of the app: it lives on the phone, and you can export it to CSV or PDF whenever you like. It also comes with light and dark themes throughout, so a dense set of numbers stays readable.
What I chose not to build
- No account or login. There is nothing to sign up for and nothing to lose access to.
- No cloud sync. Your data does not leave the phone, so there is nothing for me to store or protect on a server.
- No analytics, crash reporting or ads. The App Store privacy label says the app collects no data, and the app is built so that stays true.
Each of those would have been a reasonable thing to add. Leaving them out is a deliberate product decision, and it is why Lyffe stays simple.
React Native and Expo, all the way to the store
Lyffe is built with React Native and Expo for iPhone, and it also runs on Apple Silicon Macs and Apple Vision. Light and dark themes are used throughout. Writing the app was the smaller part of the project. The release pipeline was the rest: builds, App Store review, a privacy policy and the store listing itself.
Shipping alone
Releasing an iOS app by yourself means doing every job around the code: producing the builds, passing App Store review, writing and hosting a privacy policy, and building the store listing. None of that is glamorous, and all of it decides whether the app reaches anyone. If you are building your first app, plan for it from the start, because the release work does not shrink just because the code is done.
You can read the privacy policy or see the project page. The app is on the App Store.
About this project
Lyffe — Life Planner iOS Application