Plenty Tap
A budget in currency is easy to ignore. A counter that says "three left" is not. Plenty Tap tracks recurring spending by number of uses, and marking one off is as fast on the watch as on the phone.
- Role
- Design and full development
- Platform
- Android and Wear OS
- Status
- Demo build, version 0.1.0
- Language
- Kotlin
The problem
The spending that quietly adds up is rarely large: the daily coffee, the taxi when it rains, Friday's delivery. A budgeting app totals it in currency at the end of the month, when nothing can be done about it. The useful limit is not "spend under 200 on coffee", it is "ten coffees this month" — because that is a count you can hold in your head and act on in the moment.
How I solved it
The user creates an item, sets a use limit and a period, and from then on the interaction is one tap per use. The main screen answers a single question: how many uses are left. Everything else is subordinate to that.
- Items with a use limit per period, defined by the user
- One-tap marking straight from the main list
- Local persistence with Room — no account, no server
- Companion Wear OS app with the same gesture
The decision that defines the product
The app lives or dies on the friction of the moment you mark a use. If you have to pull out the phone, unlock it and find the app, you will not do it — and an incomplete counter is worse than none. That is why the watch is not an extra: it is where the interaction actually makes sense. Both surfaces write to the same state through the Wear Data Layer.
How it is built
- Kotlin with Jetpack Compose on both surfaces
- Room as the single source of truth on the phone
- Wearable Data Layer API for synchronisation
- minSdk 26, no backend dependencies
Download APK · v0.1.0 · 13 MB Android will ask for permission to install from an unknown source.
Demo build, not published on the Play Store. I show the walkthrough on video — creating an item, marking a use, and the watch updating — rather than offering a debug APK for download.