Inspiration
I tried every to-do app, every system, Pomodoro, time blocking. None of it stuck. My list grew past 200 tasks, and just opening the app was exhausting, so it became unproductive for me. The hardest part of a long list is not doing the tasks. It is deciding which one to start.
What finally worked was a paper diary. Every night I write down five things for tomorrow, and I aim for 3. I did that for almost 5 years before I wrote a line of code.
Paper cannot start a timer, cannot hand me the next task, and cannot tell me where my time went. I had to keep the diary with me all the time everywhere I go, so I built Focus5 when I saw this competition first time.
For the pricing, I noticed almost every one is a subscription now, so they have to keep proving it every month, usually by adding features nobody asked for. I wanted to sell a small app once and keep it small and minimal and don't want to overwhelm users with heavy flows and tasks lists.
What it does
Focus5 keeps your whole list, however long it is, and gives you five tasks at a time.
Today screen. Add tasks in today. Or swipe right left to change the dates and add the tasks on those dates. The goal is minimal UX, so I have tried to avoid the long dialogs and popups as I much as I could.
Focus mode. One task on screen. Press play and the clock counts up. No 25 minute box, no break alarm. Mark it done and the next one slides in. You never have to decide what to work on next. This screen shows you what you need to do today. It's this easy really.
Brain Dump. Talk or type a messy sentence like "call the bank tomorrow, finish the report Friday". Focus5 turns it into separate tasks with dates. So just ramble the work you want to do and you get the tasks without spending hours on planning or assigning dates and so on.
Insights. Check the statistics of where your focused time actually went, per day and per book, plus a day streak with the grace period too.
It is live on Google Play and on the web app at focus.shipkaro.dev.
The business model
- One payment, no subscription. Pay once and you own it on Android and the web. iPhone is covered by the same payment when it ships.
- 7 day free trial with every feature and no limitations at all.
- The free tier never expires. Today, Agenda, Calendar and 3 books stay free forever. Premium unlocks Focus mode, Brain Dump, Insights and more books.
- Pricing. The price is $29 on web with the local purchasing parity on Android as well. So on Google Play the lifetime unlock is priced for each country, from about $30 in the US down to PKR 1,190 (about $4) in Pakistan.
How we built it
I am a solo developer from Pakistan.
- Android: Kotlin and Jetpack Compose, Room for local storage, Koin for dependency injection. Built on NowKit, my own Android starter kit.
- Web: Next.js and TypeScript, the same codebase as the marketing site.
- Backend: Supabase for Google sign-in, sync and edge functions. Both clients share one database, so a task added on the phone appears on the web.
- Brain Dump: live speech-to-text, then an AI model on the server pulls out titles, dates and books.
- Analytics: PostHog, one project for both clients.
RevenueCat
RevenueCat runs every purchase, on both Android and web platforms, against one premium entitlement.
- Android: the RevenueCat SDK with a RevenueCat Paywalls v2 paywall selling a lifetime product through Google Play Billing. The paywall opens from any locked feature, so the lock and the purchase are one tap apart.
- Web: RevenueCat Web Billing with Stripe selling the same unlock as a one-time Founder Pack.
- One entitlement, two stores. Buy on the phone or on the web, and both apps unlock.
Challenges we ran into
Pricing for the whole world. At launch the lifetime unlock was priced at US parity in every country. In Pakistan that was PKR 8,300, while Netflix costs about PKR 800 a month there. I repriced 86 of Google Play's 173 regions using each country's local Netflix price as the anchor. Prices dropped by about 59% on average, and the high-income markets stayed where they were.
The timer. Resuming a paused session once sent the clock backwards, and pausing could lose time. Focused time is now saved onto the task itself, and resuming continues from the saved total.
Two stores, one unlock. Google Play and Stripe report purchases in different ways. Getting both to grant the same entitlement, and making sure the web never trusted the browser to say someone had paid, took more work than the paywall itself.
Accomplishments that we're proud of
- Shipped to Google Play on 25 August 2026, with the web app live alongside it.
- One purchase unlocks both apps through a single RevenueCat entitlement across Google Play and Stripe.
- Fair local pricing in 86 countries.
- A public promise that there will never be a subscription.
- The iPhone app is built and in testing.
What we learned
- Pricing is a decision you revisit, not a setting you fill in once.
- Stop writing deadlines you can't keep an eye on.
- Describing your own app correctly is harder than it sounds.
- Selling one payment changes how you build.
What's next for Focus5
- Release the iPhone app on the App Store.
- Improve the analytics and statistics to give user better understanding of their focus and productivity.
- Keep the app small as it is and minimalist UX.
Built With
- android
- deepgram
- google-play
- jetpack-compose
- koin
- kotlin
- nextjs
- openrouter
- posthog
- revenuecat
- room
- stripe
- supabase
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.