Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

6 Months Left

A countdown app with teeth. You set one deadline that matters, and until then it puts itself between you and everything that wastes your time. It installs on your phone as Time Left.

platform Kotlin APK

What it does

  • You pick one deadline, the single thing you are working toward.
  • A permanent notification shows how much time is left, every day. As the deadline nears the count drops from days into weeks, so the pressure gets sharper, not softer.
  • When you open a time-sink app, an interceptor appears first: "Only 47 days left." You can still continue, but you have to mean it.
  • It detects YouTube Shorts and Instagram Reels specifically and blocks those screens, the short-form stuff that quietly eats hours. It can be pointed at any other app too.
  • It registers as a device admin so you cannot casually uninstall it and slip out before the deadline. That is the whole point.

The onboarding

The app is only as strong as the permissions it holds, so first launch is a guided setup that walks you through granting each one and explains why:

  • Display over other apps so the interceptor can appear on top of anything.
  • Accessibility service so it can see when a blocked screen (Shorts, Reels, whatever you chose) comes up.
  • Device admin so it cannot be quietly uninstalled before your deadline.
  • Autostart and battery exemptions so the countdown survives reboots and does not get killed in the background.

The notification cannot be swiped away, and the app fights the usual escape routes so a moment of weakness does not undo the whole thing.

Hidden settings

Changing or loosening the rules is meant to be hard on purpose. The settings screen is hidden behind five taps in a corner of the screen, a gesture only you know. That friction is deliberate: if it were one tap away you would just turn it off the first time it annoyed you.

How the blocking works

flowchart LR
    A[You open a blocked app] --> B{Interceptor}
    B -->|Continue anyway| D[App opens]
    B -->|Back off| E[You close it]
    F[Accessibility service] -. watches for .-> G[Shorts / Reels / chosen apps]
    G -. triggers .-> B
    H[Foreground service] -. keeps alive .-> I[Daily countdown notification]
Loading

Install

Download the APK from the Releases page and open it on an Android phone. On first launch it runs the onboarding above.

Built with

Native Android and Kotlin. A foreground service runs the always-on countdown, an accessibility service detects blocked screens, device admin protects it from casual uninstalls, and boot receivers bring it back after a restart.

Why I built it

I did not want another habit tracker I could ignore. I wanted something with real teeth, that I could not quietly delete the moment it got annoying. So I built the version that actually holds me to the deadline I set for myself.

About

A hardcore countdown app. Set one deadline, and it blocks your time-sink apps, kills the Shorts and Reels habit, and won't let you casually uninstall it before the date. Native Android / Kotlin.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages