Latch

Modules

Leave it

The habits you want less of β€” booze, food, weed, money, anything. Log it honestly, close the day in the ledger, and your Handler judges it against the line you drew. Not logging always costs more than going over.

On this page

πŸ™… Leave it is Habits turned inside out. A habit is the work you want more of; this is the thing you want less of. It's named for the command you teach a dog for "don't touch that".

Pick what you want to cut down, say where the number comes from and draw the line. Every day the game judges what you did against it:

One rule runs all of it

Honesty is always the cheapest move

With a bad habit, the log is a confession. If confessing costs more than staying quiet, a game teaches you to stop logging. Then a blank log reads as clean, and a half-logged day reads as restraint. So everywhere in this module:

  • Not logging costs more than going over. A 🌫️ Dark day weighs 2; 🚫 Over the line weighs 1.
  • A day you never confirmed can be judged over, never kept. Silence can lose; it can't win.
  • A confirmed day under the floor is never praise. It's either a gap in the log or not eating enough. Either way your Handler asks about it.
  • The higher number wins. If what you say and what SparkyFitness logged disagree, the larger counts, so under-reporting in one place buys nothing.
  • Correcting the record is free. A late ledger, an amended one or a tally added afterwards re-judges the day. It never costs more than the truth would have.
  • Declaring ahead is a plan. Declaring after is a lapse. See passes.

A bad habit

Add one on Settings β†’ πŸ™… Leave it from a starting point. Every number is yours to change, and none of them is advice.

Start from Door Starting limits
🍺 Booze SparkyFitness: standard drinks 2 a day · 10 a week · 3 dry days a week
🍽️ Food SparkyFitness: calories eaten 14,000 a week · at least 1,200 a day
🌿 Weed tapped in Latch 1 a day · 5 a week · 2 dry days a week
πŸ’Έ Spending tapped in Latch, with an amount $100 a week
πŸ™… Something else tapped in Latch 0 a day (abstain)

The limits are a menu, not a language:

Limit Means
a day the most in one day. 0 means abstain
a week the most in a Monday–Sunday week
floor the least a confirmed day can read before it's a gap, not restraint
dry days zero-days a week asked for. Only a confirmed zero counts

The door is where the number comes from:

Log a drink with its alcohol

SparkyFitness counts drinks from the alcohol each food carries: grams Γ· 14 = standard drinks. Make yourself custom foods once (Beer β€” 1 standard drink, 14 g alcohol, and its calories), and every drink you log counts toward both your calories and your booze. A drink picked from the database without its alcohol counts as nothing, which would invent a dry day. That's one reason the ledger asks you too.

The ledger

Every evening from 18:00, the ledger for that day opens. It stays open until four hours after your wake hour the next morning (12:00 by default; the wake hour lives on Settings β†’ 😈 Mischief). It shows each bad habit's number for the day and asks one question: is that everything?

A Shortcut can close it too: POST /api/v1/leaveit/ledger (see the API).

What a day comes to

The day Under the line Over the line Under the floor
closed βœ“ kept: +5 XP and the streak 🚫 Over the line (1) πŸͺ« asked about β€” no praise, no mark
left open nothing 🚫 Over the line (1) (the 🌫️ Dark day already covers it)

A week is judged once all seven days are decided. Over its weekly cap or short of its dry days, it's one more 🚫. Every day kept and inside the caps is πŸ† A week kept: +15 XP and, if you're locked, 10 minutes off (leaveit.week_minutes). Only whole weeks count, so the week you start in is never judged.

The baseline. For the first 14 days a new bad habit is judged and shown but never marked. You see where you actually are before the line starts to bite. A Dark day still counts during the baseline: logging is the one thing that's never optional.

Passes

A night out you can see coming is a plan, not a lapse. Declare a pass on the Leave it page before the day begins ("Saturday, up to 5"):

Declared once the day has started, it isn't a plan, and the page refuses. Your Handler's temperament sets how many you get a month: warm 3 Β· firm 2 Β· strict 1. Cancel one before its day and you get it back.

Your Handler

Leave it's two marks are ordinary Mischief: standing, the short leash and the doghouse, and the lapse questions (lapse:over_line, lapse:dark_day, seeded into the Handler's library). A reflection written to one is a confession and clears it.

A recovery day does not hold these back

Other marks are held back on a recovery day. These two aren't. The likeliest reason for a short night after a day over the line is the day over the line, so mercy for feeling rough would forgive the very thing that made you feel rough. A pause still holds them. Your Handler's voice still eases.

While a bad habit judged on calories is switched on, Health's Ate and logged it rule stands down: the ledger is what pays for a day you tracked, and paying both would reward the same diary twice.

On share cards

Every bad habit's kept days are an activity, so streak_<name>, count_<name>, days_<name> and the rest work on a share card like any habit's. One that counts dry days also has <name>_dry (dry days, weekly). They're yours to show or not.

Why the streak doesn't drop every morning

Yesterday is judged this morning, so before you close the ledger yesterday is undecided, not failed. The streak skips an undecided yesterday, but only until its deadline or until you close it. A day decided and not kept breaks the run straight away.


This page also ships inside the app, at /guide β€” so your own instance always serves the guide for the version you are running, with the internet unplugged. Get Latch Β· Something wrong here? Tell me.