The starting point
Late 2024, a harsh, merciless winter (you have to dramatise a bit), I was running on yet another productivity app that was making me anything but productive. I was juggling four different apps to organise myself, and I could not find a stable system that let me actually be productive while keeping a record of what I was doing.
Then an idea hit me: what if I built an app for myself? But that means knowing mobile dev. Lucky me, I had always wanted to become an iOS developer.
Keepio was born from that personal need. A project, notes and tasks app, designed for people who want to centralise everything without an over-engineered stack. First commit: March 2025.
The app
At first, Keepio was just a way to stay organised across projects. A project, todos and notes attached, all synced. Then features kept landing: in-app and home-screen widgets, a Pomodoro system with tracking, a macOS version, calendar sync, and so on.
Today, it is:
- Unlimited projects, notes and tasks, the core of the app, 100% free
- A Pomodoro timer with built-in tracking
- 5 home-screen widgets
- Native iCloud sync
- A macOS version via Mac Catalyst
- Two-way calendar sync
- Reusable project templates
For the curious about the tech: SwiftUI, SwiftData, CloudKit, StoreKit 2, WidgetKit. Three external dependencies. 1,076 Swift files, 206 commits, 14 database schema versions. All maintained by a single person. Is that good enough for you?
The numbers
App Store Connect metrics from launch in June 2025 through March 27, 2026.
| Metric | Value |
|---|---|
| App Store impressions | 7.19K |
| Product page views | 2.7K |
| Updates installed | 856 |
| First downloads | 432 |
| Re-downloads | 77 |
| Conversion rate | 13.5% |
| In-app purchases | 4 |
One thing to note: I have done very little marketing. I am only just starting to talk about my app, because I have to admit, I did not feel legitimate. More on that later. Every spike maps to a precise moment when I did something: published content, shipped a feature, talked about the app. Nothing happened on its own.
Launch day, naturally, is the first spike. Impressions and product page views climb. The novelty effect, sharing on socials, the first curious users.
January 15, 2026, a big spike on impressions and views. That day, my Tanukia video on Instagram hit 149K views. Even though the video was not about Keepio directly, the halo effect was real: people checked my profile, discovered Keepio, and a chunk of them downloaded.
Mid-February, another spike on product page views. The snowball effect of content that keeps circulating, plus a few mentions on social.
March 23, the biggest spike since launch. That is the release of the macOS version, and the moment I started talking openly on Threads, with several posts on the indie dev journey. Impressions, views and updates all exploded that day.
The 856 installed updates show that existing users stick around and update regularly, with sharper spikes around big releases in late February and early March.
The pivot: from subscription to lifetime
You should know Keepio is free at its core. I did not want to make people pay, because not everyone can afford to buy an app or take on a subscription. Plus, I had some serious imposter syndrome. But at some point, if I want this to be my living, I have to charge.
At launch, I did what everyone does: monthly and yearly subscriptions. The model every article recommends. Recurring revenue, growing lifetime value, predictable cash flow.
Result: 1 conversion in 4 months.
The problem was not the price. It was the model. People are saturated with subscriptions. And Keepio has no recurring server cost, everything goes through iCloud. Asking for a monthly payment for an app with no monthly cost did not fit.
In March 2026, I changed everything. A single product: lifetime purchase, €9.99. You pay once, you get everything forever.
Result: 4 conversions in 3 days.
I also chose not to offer a trial with a mandatory credit card. Instead, freemium is full: unlimited projects, notes and tasks, for free. Premium unlocks advanced tools for those who want more. If someone pays, it is a deliberate choice, not a missed cancellation.
Former subscribers keep lifetime premium access, even after expiration. Changing model is my decision. It must not penalise those who were there before.
What worked
The shift to lifetime. That is clearly what unlocked conversions. The moment I dropped subscriptions for a one-time purchase, people started paying. Sometimes the problem is not the product, it is the wrapping.
A real onboarding. Early on, users landed on an empty screen. No guide, no suggestion, nothing. Of course they did not know where to start, and they left. The day I added a guided onboarding, retention shifted dramatically.
The macOS version. I had underestimated how much people want to find their stuff everywhere. Since Keepio runs on Mac too, I get feedback from people telling me they use it daily on both platforms.
Just talking about it. I stayed quiet for a long time. I felt it was not good enough, not finished enough, not legitimate enough. The day I started posting on Threads, showing the behind-the-scenes, people got interested. Sounds silly, but you have to do it.
Adopting iOS 26 early. From the betas, I worked on the new design system. By the time iOS 26 shipped, Keepio already had the native look. It seems trivial, but on the App Store it shows immediately.
The hurdles
CloudKit. iCloud sync is magical when it works. And when it does not, you want to throw your Mac out the window. I lost data in production once. Luckily there were not many users at the time, but it scared me. Distributed sync is a hard topic, even with Apple's tools.
Marketing. The hardest thing. By far. Coding the app is, in the end, the "easy" part. Getting people to find it, download it, and come back is a different job. I am still struggling with it, no magic formula.
Motivation. There were weeks where I asked myself why I was doing all this. Zero downloads, a prod bug, a post that gets 3 views. It is not glamorous. What kept me going is the thought that if Keepio can help even one person organise themselves better, then it is not for nothing.
Solo dev at scale. 1,076 Swift files for one person is a lot. 14 schema migrations to maintain. Every feature you add is more maintenance. Without architectural discipline, you drown.
The lessons
-
Subscriptions are not the answer to everything. Everyone tells you to do subscriptions. But if your app has no server cost and your users are normal people (not businesses), a one-time purchase can work much better. Test, measure, adapt.
-
Give before you ask. Keepio is free at its core. People who pay for premium do it because they want to, not because they are stuck. And that changes everything in the relationship.
-
Talk about what you do, even if it is not perfect. No one will discover your app on their own. Imposter syndrome is real, but it is also a huge brake. Post, show, share. The worst that can happen is no one reacts, and that is already what happens when you stay silent.
-
CloudKit is free but not simple. Zero server cost, native sync, perfect integration. But the debugging is opaque and the edge cases are nasty. Plan for safety nets.
-
Persistence is not inspiring every day. There is no eureka moment when everything unlocks. It is small wins stacked, hard weeks pushed through, and the conviction that the product has value even when the numbers say otherwise.
A more personal note
Keepio has been a real lever for me. I went through really tough periods, professionally and personally. The app kept me on my feet even when I did not feel like it. I would get up just to dev the app and ship it. If I could help even one person, my goal would be met.
It is also the project that taught me a lot of concepts I would not have on hand today. I also had a mentor at the start of the app, and I thank him for everything he shared.
I call myself an iOS developer, but I have not had the chance to land a job in the field. When I came out of school, AI hit, job offers were almost non-existent, and I only had Keepio (and other side projects). Freelancing saved me, I will tell you that. I hope one day to get the chance to do iOS freelance, or to support people building their apps.
By the way, a quick #AD moment: I have a guide to master Claude Code x iOS. Lifetime access with all updates, and you can ask me anything on Discord.
You might think it is just a simple app. For a lot of people, that is what it is. You tap the icon, it opens, you see squares. Behind it, I see months of struggles, banging my head against the wall. The persistence to wake up every day to dev the app and only that. The first tears when I saw my first customer buy my app, my guide. Everyone who decided to follow me on Instagram, YouTube, and the rest. I see every defeat, and every win, behind that app. I almost gave up, dozens of times, and every time it was: "keep going, you cannot stop here". And I hope one day the work will pay off.
If you read these lines and you have a dream: move! Go for it! Do it! No one can stop you but yourself. And keep going, because you do not know what waits at the end of the tunnel.
What is next
Keepio continues. Next steps:
- Project sharing: read-only and collaborative sharing, currently in development
- AI features: task generation, smart prioritisation
- Keep documenting the journey on social media
That was Okeep, talk to you later 🫶


Commentaires
Aucun commentaire pour le moment. Sois le premier !