Working Android build · v0.11 · moving to Google Play Internal Testing
dhyāna attention, on purpose
Short-form video (Reels, Shorts) is built to beat willpower: the thumb swipes up before the mind decides. Instead of countdown timers or shaming charts, dhyāna answers that reflex with a reflex it can't automate — cross your daily limit and it deploys a system overlay that asks you to physically balance the phone, using its gyroscope, before you can continue. This is a real, installable app now, running on real phones with real usage data — not just the mockup below.
What's actually built
Eight decisions, not a feature list
Each of these shipped because something specific was wrong with the obvious version — a countdown timer doesn't interrupt a reflex, a percentage bar doesn't feel like anything, an always-on overlay becomes wallpaper.
A garden, not a red bar
The home screen is a live canvas that visibly degrades as you go over budget — sand ridges fracture, boulders scatter — instead of a percentage number that's easy to go numb to.
A reflex it can't automate
Cross your limit and a full-screen balance gate takes over: tilt the phone to centre a floating dot and hold it steady for 5–20 seconds (your call) before you're back in. Motor coordination, not willpower.
Quiet until it matters
A small "time remaining" pill appears only in the final two minutes of budget, turning amber in the last 30 seconds — awareness that shows up right when it's actionable, not the whole session.
A choice, not just a slap
Solving the gate leads to Close / Take a breath / Continue — not straight back into the app with zero acknowledgment. "Take a breath" opens a native, paced breathing screen.
1am doesn't need the same gate as 2pm
After 22:00 (adjustable), the gate switches from tilt to touch-and-hold, the screen dims, and the copy softens — a half-asleep scroll doesn't need the same demanding gate as daytime.
No Accessibility, no screen-reading
Runs entirely on Android's UsageStatsManager — which app is in front, and for how long. Nothing reads what's inside another app's screen, ever.
Not a wall of every app on your phone
The app picker surfaces social/video/news apps and a known-scroll allowlist first, with an explicit "choose from all apps" escape hatch instead of dumping your entire app drawer on you.
Plays fair with what's already there
If you already use Android's built-in app timers, dhyāna asks instead of guessing — no API can detect them, so it's upfront about that instead of silently stacking a second limit on top.
Interactive demo
Feel the mechanic
A simplified, in-browser simulation of the core loop — the real app has more screens (onboarding, the pull-up sheet, night mode) than fit here. Two of these three are the whole bet: whether over-scrolling can be shown as a garden falling apart instead of a red bar, and whether a tilt-to-balance gate actually interrupts the reflex. Switch screens on the phone, then drive them with the controls. The lockout dot responds to your mouse — or to real device tilt on a phone.
Your focus garden
Calm. Sand ridges are clean and even.
Take a breath.
Balance the dot in the centre for 5 seconds to continue.
Today's short-form usage
Drag past the 45-minute limit and watch the raked sand fracture and throw boulders.
Session progress
The glassmorphic pill stays quiet. Near the limit, a warm amber perimeter breathes at 0.5 Hz — awareness without hiding the video.
The balance gate
Bring the floating dot to the centre ring and hold it there for 5 seconds. On desktop, guide it with your mouse over the ring; on a phone, tap Use my phone's tilt and physically level the device. Notice how it forces attention — that's the entire mechanism.