Badges for care, not for screen time

Fern's badges count things you do for your plants, and a calm day is any day when nothing you look after was left late, including days with nothing to do. How they work, whose care counts in a shared home, and what we still haven't settled.

Picture a snake plant in the corner of a bedroom. It was watered at the start of the month and won't want water again for three or four weeks. For most of those days, the most useful thing its owner can do is leave it alone.

Now picture the kind of streak a lot of apps keep. It counts the days you open the app, and in the evening it starts to worry that you haven't. By that measure, the snake plant's owner is failing on every one of those quiet days. The app would like a visit every day, and would be happier still if the visit came with something to do. With a plant, something to do usually means water, and a snake plant watered every few days is a snake plant in trouble.

Fern has badges, and a running count of what it calls calm days. This post is about what they count and why opening the app isn't on the list. Some of it we're still not sure we've got right. We've written before about how Fern celebrates and the limits that keep celebrations rare, so this one is about the badges themselves.

Why reward anything at all

Plant care is mostly invisible work. A well-watered pothos looks exactly like a pothos. Nobody notices the months you didn't overwater the fiddle-leaf fig, including, after a while, you.

Fern's experience spec has a short list of how people should feel after using the app. It starts with "More confident" and "Less guilty", and further down is "Proud of a routine they can maintain". A badge is a small way of saying that Fern noticed the routine, and the note that comes with your first one puts it in a sentence: "Badges mark the good things you do for your plants."

The same documents are firm about the other side. The spec's section on tone says Fern should avoid "Competitive plant-owner language". The sixth product principle is "Progress over perfection", and the line under it reads "A missed day is information, not failure." Any reward system has to live inside those two sentences.

Rewards go wrong in an app like this in a few predictable ways. The obvious one is rewarding the app instead of the plants, with badges for visits and runs of days you opened it. A quieter one is rewarding the tap instead of the care. Fern can't see your watering can, so a tap on Done is taken at its word. Then there's rewarding more care, when plants often need less. And there's the particular feeling a run of days gives you once it's long enough to lose. The rest of this post is about how Fern's badges and calm days handle each of them.

Twenty badges, and what each one counts

Every badge in Fern is the same simple thing: one number Fern already knows about your garden, and a few levels along it. There are twenty badges, each with between one and four levels, forty-nine levels in all.

Take watering. Your first logged watering earns First Drink. Ten earn Watering Can. Fifty earn Rainmaker, and with Fern Pro the same count carries on to Devoted at 100, Hydro Hero at 500 and Aquarius at 1,000. Plants work the same way: First Sprout for your first, Gardener at five, Indoor Jungle at fifteen, and with Pro all the way to Arboretum at 100.

Some of the Pro badges are quieter. Survivor counts how long the plant you've had longest has been with you in Fern, with levels called One Month, Half a Year, One Year and Veteran, the last at two years. You earn it by keeping a plant, nothing more, and Fern checks it once a day. Rescuer is earned when a plant that a health check found struggling later checks out as healthy. Weather wise is earned by caring for a plant within three days of a weather alert about it. Green marvel needs a plant to reach twice the height of its first measurement.

What isn't on the list says as much as what is. Here is everything a badge can count: plants, species, calm days, waterings, feeds, kinds of care, health checks, growth measurements, homes joined, plants shared with a home, how long you've had your oldest plant, rescues, plants that doubled in height, care after weather alerts, and two onboarding steps. None of them counts app opens or time spent in the app. There is no badge for visiting.

The onboarding steps are the exception we're least comfortable with. Companion has two levels, Met Fern and Toured, for meeting Sprig and finishing the tour. No plant is involved in either. Each can only happen once, so it can't become a habit you have to keep up, but it's the odd one out on the shelf.

A few others sit on the line. First Check-up counts plant health checks, and so does the Pro badge Healer, with levels at 5 and 25. Grower counts growth measurements. Both are things you do in the app, and both are also ways of paying attention to a plant. Still, a level at 25 health checks could reward checking more often than a plant needs.

Calm days

The badge this post keeps coming back to is Streak keeper, and it counts calm days. A calm day is a day when nothing you look after was left late.

That definition does most of the work in this post, so it's worth being exact about it. A day with nothing due is calm. You don't have to water anything, or even open Fern, for it to count. The snake plant's three quiet weeks are three weeks of calm days.

Late has a precise meaning too. A day stops being calm when it ends with care from an earlier day still waiting. So a watering due on Monday and done on Tuesday costs nothing. If it's still waiting when Tuesday ends, Tuesday isn't calm. And if you open Fern on Tuesday morning with Monday's watering still waiting, Tuesday simply doesn't count yet. The number stays where it was, and once you've watered, today joins the run.

Choosing to wait counts the same as watering. When you water a plant from Today's list, Fern first asks "How's Monty's soil?" and suggests pushing a finger a couple of centimetres in. If the soil is moist or wet, the first button is Safely wait, which moves the watering two days out. If you postpone something instead, to Tomorrow, In 3 days or a date you pick, the task moves to that day. Either way nothing was left late, so the day stays calm.

Away mode follows the same logic. While you're away and nobody else is covering your plants, their care pauses. Anything that comes due waits as due today, and when you're back it shows up as today's care, with no backlog of late tasks. Nothing goes late, so the run carries on. Recovery check-ins, the follow-ups after a plant has been unwell, never count against anyone.

The word matters because the thing it counts is unusual. In a lot of apps a streak is a run of days you showed up. A calm day doesn't ask you to show up. It asks that nothing was left waiting, which on most days, for most plants, takes no effort at all.

When a run ends

A run ends when a day finishes with something late. What happens next is mostly nothing.

Fern doesn't warn you the evening before. The one evening care notification it can send, "Still time today", only goes out if care due that day is still open and you haven't logged any care, and it lists what's due. It never mentions the count. There's no message when a run ends and no screen about what you lost. The next calm day starts a new run.

Badges are never taken back. Each level you earn is stored once and never deleted, so Committed, the third level of Streak keeper, stays yours after the run that earned it is over. On the Badges screen, a badge whose next level is still a long way off keeps showing the level you already have, so a reset count doesn't turn a medal back into an empty ring.

The same holds when a plant dies. Its waterings, feeds, growth measurements and health checks are kept with its memorial and added back into your totals, so losing a plant never takes a level away.

There's one record to beat, and it's your own. The Badges screen shows your current run next to your longest. On each day a run goes past the longest one this phone has seen, the All done card on Today carries one more line: "New best: 24 calm days, more than ever before". The first time a phone sees your count it just remembers it, so a new phone won't greet you with a record you set last spring.

Milestones at 7, 30, 100 and 365 calm days are celebrated once per run. A new run that reaches seven gets its own week.

Watering, and the pull to do more of it

A badge that counts waterings is, in a small way, a reason to water. With plants that matters, because too much water is one of the easiest ways to hurt a houseplant. The experience spec's list of feelings even includes "Less likely to double-water", which is an awkward line to set next to a badge for waterings.

The counter itself is simple. Waterer counts every watering logged on your plants, whether it was due or not. What keeps it in check is what happens before the tap. Watering from Today starts with the soil question, and when the soil is moist or wet, Safely wait is the first button and Water anyway the second.

Waiting doesn't move the Waterer bar. It doesn't cost a calm day either, and calm days are what Streak keeper counts. So Waterer and Streak keeper pull in different directions: one for the care you did, one for the care that didn't go wrong. If you only chased one of them, we'd rather it was the second.

Shared homes

In a shared home, the first question is whose calm days a plant belongs to. Fern's answer is the person who looks after it. If a plant has a caretaker, it counts toward the caretaker's calm days. If it doesn't, it counts toward its owner's. During a handoff, when someone covers your plants while you travel, they're the caretaker for that time, and the plants count toward their run.

Who actually did the watering doesn't matter for calm days. If Sam waters Monty while Monty is yours to look after, the watering is done and your day stays calm. In a home where people cover for each other, that seems right, and the All done card says so plainly with a line like "6 care actions · Sam did 2". It tells you who helped. It doesn't rank anyone.

Badges are personal. Each level is earned by one person, and nothing about it is shown to the rest of the home.

Badges are less tidy about whose care counts. Growth measurements and health checks count for the person who did them. Waterings and feeds count for the person who owns the plant, whoever did the watering. So if Sam measures your monstera, that's a step toward Sam's Grower badge. If Sam waters it, that's a step toward your Waterer. Someone who mostly looks after other people's plants can water every day and never move their own Waterer bar.

Where progress shows up

Fern shows progress in three places, and when it shows it matters as much as where.

On Today, progress only appears once you've finished. When everything for the day is done, the All done card shows your calm days as a number and, under it, the badge you're closest to: "Next badge · Watering Can", with "8 / 10" and a bar. Whenever it has moved since you last saw it, the bar fills from where it was. When you're one away, the line becomes "1 more watering to Watering Can", and getting there comes with one light tap. On a day with nothing due, Today's card says "Nothing needs you today" and "Your plants are fine.", with no count and no next badge. The day still counts.

On the You tab, one tile shows the calm-days streak and another shows the next badge, like "Streak keeper · 14 days" at 12/14. With no run going, the streak tile says "Day 1" and "Finish today's care to start it".

The Badges screen has the whole collection. It opens with how many you've earned, then the three you're closest to, then a card for this week: your calm days, your longest run, and seven dots for the days you did some care. The days you didn't are plain outlines. Below that is every badge as a medal. An earned one has a solid ring. One in progress has an amber arc showing how far along it is. One you haven't started is a plain sand-coloured disc. None of them is drawn as a failure, and VoiceOver reads them the way you'd say them: "Streak keeper, 12 of 14."

The badge moment

A new badge waits for Today, like every big moment. If you earn several together, they become one moment. Up to three are shown one after another, with page dots and "1 of 3", and more than three become a short list. Add a batch of plants of different species and you can cross several Collector and Botanist levels together. Past three, the title reads something like "Four badges at once", and the line under it says "Fern noticed a lot of good care." That's generous, since what you did was add plants.

Your first badge ever comes with the note quoted earlier, which ends "They're yours alone." Each level is celebrated once, ever. As soon as Fern has shown it, or kept it as a card on Today for the rest of the day, it's marked as seen. Opening the Badges screen marks new ones as seen too, after a second and a half.

The first time Fern works out anyone's badges, it grants whatever they already qualify for quietly, with no celebration and no notification. Someone who has used Fern for months doesn't open it to a pile of medals at once, and a new person's shelf simply starts filled in.

VoiceOver reads the whole moment once, in words: "Level up. Streak keeper, level 2, On a Roll. 7 days." You can close it from its very first frame. And a badge can be shared, but only from a preview you see first, and the card carries no name, city or other plants.

Two parts of the badge moment are less quiet, and they belong in this post too.

The first is a notification. When a level is earned, Fern puts "New badge!" in your Inbox and sends a push. It's held until daytime where you are, and it isn't sent if you've turned notifications off or you're away. It is still a push about a badge, and because Fern can award a level as Today loads, it can arrive while that same badge is on screen.

The second is the App Store. A second after a badge moment closes, Fern may ask for a rating. It only asks once you've had Fern for at least four days and done at least eight bits of care, no more than once per app version, and never within 90 days of the last ask. Right after something good is a reasonable time to ask. It's still asking.

Badges and Fern Pro

Six badges are free: Collector, Streak keeper, Waterer, Companion, First aid and Botanist, with fourteen levels between them. The other fourteen badges come with Fern Pro, and all twenty can be earned during the free trial.

On the free plan, a Pro badge appears on the Badges screen as a dashed ring with a lock and the words "With Fern Pro". VoiceOver says, for example, "Host, available with Fern Pro." Today's next-badge line and the You tile never point at one, and neither does the closest-next list. The exception is the Next up card at the end of a badge celebration, which picks whichever badge you're closest to and can land on a Pro one, with a small "With Fern Pro" tag. A celebration is an odd place for even a small price tag.

If Pro ends, the badges you earned with it stay, shown as earned. You just stop earning new Pro levels.

Two of the free badges don't fit the free plan well. Indoor Jungle asks for fifteen plants on a plan that looks after five. First Check-up needs a plant health check, which is part of Fern Pro. Both can be earned during the trial, and after it they mostly can't, which makes "free" a generous word for them.

What Fern doesn't do

Nothing in the app compares your calm days or badges with anyone else's. The community guidelines say Fern doesn't expose global leaderboards, popularity ranks or care streak comparisons. Your Growers profile shows neither your badges nor your count, and inside a home nobody sees anyone else's badges or calm days.

There's nothing to buy. You can't pay to repair a run, and there's no freeze. Away mode keeps a run going, but only because it pauses the plants' care while you're gone, so nothing can go late.

And nothing here rewards the thing apps usually measure first. Neither a badge nor the calm-day count goes up because you opened Fern.

What we haven't settled

Day seven celebrates the same run twice. The seventh calm day earns On a Roll, the second level of Streak keeper, and it's also the first calm-day milestone. The two don't merge. The queue shows one of them and keeps the other, "A week of calm days" or the badge, for your next visit or as a card on Today. With Pro, the same thing happens at 30, 100 and 365, where Streak master's levels sit exactly on the milestones. It works. It's still one week celebrated twice.

Moving late care takes the late days with it. Calm days are worked out fresh each time, from your plants' care as it stands. If a watering was already late and you move it to tomorrow, its due date changes and the late days it caused drop out of the count. That's kind to someone who had a bad week and sorted it out. It also means the count can be talked round, and we haven't decided whether that's a kindness or a loophole.

Whose watering is it? Waterings count for a plant's owner and growth measurements for whoever took them. One rule should probably cover both, and we haven't picked which.

Should a badge send a notification at all? It's the only part of the badge system that reaches outside the app.

Some of the words haven't caught up with the idea. The badge that counts calm days is still called Streak keeper, and its description says "Care for your plants day after day.", which sounds like something you have to do daily. Streak master's says "Unbreakable care routine." The home-screen widget greets a good run with "On a roll!" and a "12-day streak". None of them describe a calm day, and a calm day is the whole point.

And the count only looks back 400 days. A run longer than that stops growing at a little over 400, and the longest run Fern shows is the longest inside the same window. Year of Care, the last level of Streak master, sits at 365. On the day someone earns it, their count will have about five weeks of room left.