Inspiration
I watched my little cousins disappear into their phones. Not for lack of rules — their parents had set every limit the phone allows. The kids just found the way around it, and every evening ended in the same argument.
The research says it isn't a discipline problem. We switch screens roughly every 47 seconds, and nearly half of Gen Z say they wish TikTok had never been invented. The people inside it already want out. Willpower was never going to beat a multibillion-dollar attention algorithm.
Blocking apps isn't new — every phone ships with it. What's missing is what happens after the block.
What it does
Sohl — less scroll, more soul. It's the economy on top of the block.
- Block — chosen apps close the moment they open.
- Redirect — instead of a dead end, you get a slow breath and the one line you wrote about why you wanted to change, plus what you said you'd rather be doing.
- Earn it back — homework, chores and time outside turn into minutes. A parent, or a friend in accountability-partner mode, holds the PIN and confirms each task.
- Grow — a tree grows with every day you stay with it, slowly, over years. It never dies on a bad day. Medals mark the milestones.
It's a remote, not a spy. No messages read, no screenshots, no location — nothing leaves the phone.
How I built it
I'd never written code before this project. I built Sohl solo, directing Claude as a pair programmer, working in GitHub Codespaces from a Chromebook.
- Android, Kotlin and Jetpack Compose
- Android's Usage Access and a foreground service that detect when a blocked app opens and check for an active unlock session before blocking it
- Room for all data, stored only on the device
- RevenueCat for subscriptions: the SDK loads the offering, runs the purchase and restore, and checks the entitlement that unlocks Sohl Pro
- A procedurally drawn nature scene, including a sky that follows the real position of the sun, so the app stays small and uses no stock imagery
Challenges I ran into
- Getting a full Android build toolchain running in the cloud with no local machine
- Renaming the whole app days before the deadline after finding another team building under the original name, then rebuilding the brand, package and store listing from scratch
- Designing an earn loop that feels like a reward, not a punishment
- Deciding what not to build: no monitoring, and no pretending to auto-detect homework. A human confirms.
- Learning to ship something that works before something that's perfect
What I learned
Blocking is the easy part. Motivation is the product. And the person who pays — often a parent — isn't always the person who's struggling, which changes everything about how you design it.
What's next
- Habit tracker, routine builder, goal setter and vision board, built on the earn loop
- An AI accountability call that rings you and asks what you're doing right now
- Accounts and sync, so progress and subscriptions follow you to a new phone
- iOS
- Schools, institutions, and India, with a spiritual angle that fits the name
Built With
- android
- claude
- github-codespaces
- jetpack-compose
- kotlin
- revenuecat
- room
Log in or sign up for Devpost to join the conversation.