All posts
How-to4 min read

One nudge at 7pm, and only if the day is still empty.

Home keeps a streak: the run of days the account did something, and the last seven as a row of marks. The reminder exists so a streak you care about does not end because you forgot the app was there.

§ 01

Home asks once

The first time there is a streak to keep, Home offers “Keep your streak going?” Turn on asks Android for notification permission, on Android 13 and later as the system dialog. Not now dismisses the card. Settings has the switch after that, next to haptics and read aloud, so you can change your mind without hunting.

The copy on the card is specific. One nudge at 7pm, on days you have not opened cognira. The title of the notification is “Don’t lose your streak”, and the body names the length: a first day, or the number you are on.

§ 02

Two ways it can fire, and why both exist

With permission granted, the phone registers an Expo push token with the account, along with the time zone and whether reminders are on. The server then sends the 7pm nudge only when that account has been quiet everywhere that day, the app and the website included. Signing out removes the token, so the pushes stop.

If the token never lands, because permission was refused or the network was down, an on-phone reminder is the fallback. Each time you open the app it moves that reminder to tomorrow evening, so it fires on a day the app itself was not opened. That fallback cannot see a day you spent only on cognira.dev. The server push can. A reminder that fails to schedule is dropped. It is not worth an error on screen.

§ 03

What the streak is counting

The marks are days the account was active, recorded by the backend from signed-in requests. Under the streak, three numbers: questions and maps touched in the last seven days, and how many chats are saved. The card also names your best run when this one is shorter, or says it is your best when it is not. A day that gets marked plays a short burst on the card, once.

The reminder is optional. Chat, Proto, and a robot all work with it off.