kraft
The Kraft way·7 min read

The gamification we ship in Tend, and the kind we refuse

Tend has milestones, a bouncing check on completion, and a streak counter — real gamification, deliberately calm. Here's what we ship, what we cut, and the specific difference between Duolingo-style coercion and celebrating a bloom.

July 9, 2026

Tend ships gamification. Not a lot, but real — a bloom you're working toward, a check that bounces when you tap it, a streak counter that sits quietly on the year view. If you download the app expecting a rigorously joyless spreadsheet, you'll find a small paper mascot holding a seedling and a progress bar that fills toward your next milestone. That's on purpose.

What we don't ship is coercive gamification — the Duolingo/Snapchat kind that engineers compulsion, keeps you awake at 11:47 p.m. to protect a number, or turns a friend's habit into a hostage-of-yours. That distinction is the whole design decision, and it deserves the honest version of the essay.

Two kinds of gamification, kept separate

Game mechanics do something useful to habit formation, and pretending otherwise is puritan. A visible bar of progress genuinely helps you go for day four. A small celebration on completion genuinely reinforces the loop. The behavior-research consensus is that early-stage habit formation benefits from feedback that says yes, that counted.

Gamification stops helping and starts running you when it stacks three levers on top of each other:

  1. Loss aversion. Losing a 47-day streak feels much worse than gaining one felt good — Duolingo built a business on that asymmetry.
  2. Sunk cost. The longer the streak, the more it costs to break, even if the underlying habit stopped serving you.
  3. Public performance. Leaderboards, mutual streaks, "your friend saw your streak" — the streak becomes a social object.

Any one of those is manageable. Stack them and you've engineered a mechanic that will pull people out of bed to tap a two-minute Spanish lesson at 11:58 p.m. so a number stays the same. That is the loop, not the habit.

What Tend ships

Every one of these is a game-y feedback moment, and we thought hard about each.

The next bloom

Tend has milestones — 7, 30, 60, 100, 150, 200, 250, 300, 365 days tended — with a progress bar toward the next one. "Your first bloom waits at 7 days tended." Reach it and the next one appears; reach all of them and the card reads "Every milestone reached · X days tended. The whole year, kept."

The specific design choice: the bar only ever fills, and a missed day never drains it. Days tended is a lifetime count, not a fragile streak. If you skip a week for the flu, your progress bar is exactly where you left it. That is the anti-Duolingo — the same feedback loop (a bar to fill, a bloom to reach) without the loss-aversion stick.

The bouncing check

Tap a habit done and the SF Symbol check springs in with a small bounce, at 1.08 scale, with a single soft haptic. It's genuinely satisfying. The internal name for it in our code is "Kraft's calm answer to confetti."

The design choice: it only fires on completing the tap, not on undoing. The joy is for the moment the thing was done. If you tap-tap because you were browsing, the bounce doesn't reward the wobble — only the honest one.

The streak counter

Yes, Tend shows a "best streak" stat right on the year view, next to "days tended" and "completion rate." Streaks are a real thing and hiding them would be pretending you don't care.

The design choices around it:

  • A miss is never red. The year view fills the missed day as a small quiet gap, the same visual weight as an unfilled calendar square. Compare that to Duolingo's amber-and-red flame graphic when your streak is at risk.
  • Rest days are a choice you set. Mark Sunday as a rest day and the streak carries through it — that reflects what a runner who takes Sunday off actually is.
  • No streak-loss notification, ever. We will not push you at 11:47 p.m. saying "you're about to lose your streak." If you're not tracking, that's information about you and the habit, not an escalation opportunity for the app.

The year view

Small colored squares, one per proven day per habit, filling in through the year. It's the piece we spent the most design time on. It reads like a garden — mostly filled, with gaps, honest about a real human year.

The design choice: aggregate beauty over perfect scores. A 400-day-perfect streak is not honest; nobody does anything perfectly for 400 days, and the way you get one is by lowering the bar until "did anything at all" counts. A colorful year with realistic gaps is the more accurate picture, and it's the one worth scrolling back through in December.

What we cut

For each mechanic above, there's a version that would move DAU more, and each was a real conversation:

  • Streak-loss push notifications. Trivially would boost retention. Also would make the app feel like a jealous partner. Cut.
  • Leaderboards or social streaks. Would give the number a public dimension. Would also weaponize other people's progress against you. Cut.
  • "You've done X days more than 92% of Tend users." Would compare you to strangers. Cut.
  • Red X missed days. Standard tracker convention. Adds a shame layer to what should just be a gap. Cut.
  • Losing progress on a break. Would make our progress bars punchier. Would also mean coming back after a hard week is punished. Cut.
  • Verified-rep confetti explosion. After the phone counts your last push-up, one soft line fades in and out — "That's the set." No confetti, no sound. The payoff is the self-verification itself; adding sparkles would cheapen it.

The through-line

The rule we've held ourselves to is: feedback that celebrates progress you actually made is fair game; feedback that manufactures loss or shame is not. A progress bar to a bloom is celebration. A red X across a bad week is manufactured shame. A check that bounces when you tap it is joy. A leaderboard is a stick dressed as social.

The result is an app that a Duolingo user will find weirdly calm. That is by design. If you burned out on a habit tracker that engineered you into opening it every night, Tend is the version where the mechanics are on your side.

The honest limitation

The calm version is less sticky than the coercive one, and we know it. Users who want the drill-sergeant experience will look at Tend and think it's soft — they're not wrong, and Streaks or Habitica or the gamified crowd will serve them better. We'd rather they use one of those than not track anything.

If your streak has quietly become the thing running you, that's the loop we opted out of. Tend still ships enough of a game to celebrate the days you show up, without dressing shame as feedback. Free for two habits with every proof type included; Patron unlocks the rest, and also opens Pocket PDF and RacePep — one purchase, no renewals.

The bloom isn't a trap. It's just a small, quiet thing to work toward.

The apps keep their own quiet corners on Instagram — build notes, the occasional small update. No feeds, no algorithms to chase.

Keep reading