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
Share this project:

Updates

Submission history