Your habits and your Telegram settings are encrypted with this passkey (PBKDF2 600k → AES-256-GCM) and stored only in this browser. The passkey is never stored or sent anywhere; a wrong one simply fails to decrypt, and there is no recovery. Without Stay unlocked the app locks itself when you close it or leave it in the background for a while.
One tap tells your partner on Telegram right now, with the habit at stake. Nothing to type. Use it before, not after.
Tap a day to change it: unmarked → done → missed → unmarked. Build habits count a day only when you mark it done; break habits count a day clean unless you mark a slip.
Your bot is the messenger: it delivers your summaries and relapse nudges to your partner. Create it with @BotFather (see the Guide), paste its token here. The token stays in your encrypted vault.
Your partner opens Telegram, finds your bot and presses Start (or sends it any message). Then press Find my partner here and pick them.
Every day at the time you pick, your bot sends you a check-in: which habits are marked, which are still open. Press Start on your own bot in Telegram, then Find me.
The app sends it when it is open at that time (or the next time you open it that day). Nothing can run while the page is closed, so for a guaranteed 7 pm even with the app closed, use the cron option below.
A free cron service (for example cron-job.org) can call this address every day at your time; Telegram then delivers a fixed check-in listing your habits. The address contains your bot token and your chat id, so only paste it into a service you trust, and regenerate it when your habits change.
The exact texts your bot will deliver, built from your habits as they stand right now.
Two people keep each other honest. Each of you tracks habits to build (do it every day) and habits to break (stay clean every day), as daily yes/no streaks with a progress bar toward a target. Your partner gets your daily and weekly summaries on Telegram, and a nudge the moment you press About to relapse, one tap, nothing to type.
There is no account and no server. Everything you type is encrypted in this browser with your passkey. The only thing that ever leaves the browser is a message you asked to send, straight to Telegram.
Nudge is a web app. Saved to the Home Screen it opens full-screen like any app, works offline, and keeps its data (as long as you don't clear the browser's site data).
Each of you makes your own bot. Your bot is your messenger: your app sends your partner's Telegram the summaries and nudges through it. Your partner's app does the same through their bot. Nobody shares a token, nothing passes through a third server, and you keep chatting with each other directly in Telegram as usual.
Create your bot (2 minutes, each of you):
On the Partner tab, under Daily check-in reminder: press Start on your own bot in Telegram, press Find me and pick yourself, choose the time (7 pm by default) and switch it on. At that time your bot messages you with today's check-in: what is marked, what is still open, and a link to mark the rest.
The catch: a web page cannot do anything while it is closed. The reminder goes out when the app is open at that time (a desktop tab, or the Home Screen app in the foreground), or the moment you open it later that day. For a guaranteed 7 pm with the app closed, use the cron address the app generates: paste it into a free scheduler such as cron-job.org, set it to daily at your time, and Telegram delivers a fixed check-in listing your habits. That address contains your bot token, so choose a service you trust, and regenerate it after you change your habits.
The page is static (it is served from GitHub Pages and contains nothing of yours). Your vault is one encrypted blob in this browser's storage; the key comes from your passkey and is never stored (unless you choose Stay unlocked, which keeps a non-extractable copy of the derived key in this browser only). Telegram sees exactly the messages you send and nothing else. The Sent log is in the vault too.
Backups are the encrypted vault file; restoring on another device asks for the same passkey. Take one after any change you would hate to lose.
Wipes the vault from this browser. Your partner's app is not affected.
Nudge ยท static page, no server, no account. Theme: the Batcomputer HUD. Source and licence in the README.
One tap sends the nudge to your partner right now. Nothing to type.