← All posts
Product
1 min read

A coach made of rules

The new daily coach is a few if-statements over your own data. Why that beats a generated paragraph, and why the app shows only the notes its existing cards don't already cover.


“Daily feedback that pushes you forward” is how the AI coaching apps describe themselves. PaceStreak’s version is GET /v1/coach/today, and every note it returns comes from a rule you could write on an index card:

  • A streak with more sessions needed than days left: “Main needs you today.”
  • Five or more days since the last session: “Something short counts.”
  • A morning check-in with sleep or energy at 2 or below, or soreness at 4 or above: “Go easy.”
  • Habits at risk this week, counted but never named, because Today can sit on a screen someone glances at.
  • Yesterday’s protein under 80% of your target, or calories well over or under it, with under-eating getting the same calm tone as over-eating.

At most four notes, ranked so “do this today” comes before “well done”.

Not saying things twice

The app already had a coach of its own: Today’s cards, built on the device, covering at-risk streaks, comebacks, repairs and plan days, with buttons that act on them. Showing the server’s streak notes as well would have said everything twice.

So the app takes only the food notes from the server. Those are what the device couldn’t see. The server endpoint still returns the full set, which keeps it useful for anything that isn’t this app, like a notification or a future watch face, without the app repeating itself.

Why rules

A rule can be wrong, but it’s wrong the same way every time, and the fix is a line in a test. A generated paragraph can be wrong in a new way every morning. For something that speaks to you daily, boring and predictable is the feature.

AlzyWelzy

Building PaceStreak. GitHub

Related

  • Product

    An undo that is a restore

    Every delete in PaceStreak now offers Undo, backed by a 30-day trash on the server. Why the trash stores generic snapshots, keeps original ids, and refuses a restore that would clash.

    2 min
  • Product

    A routine is only an order

    Habit routines and the focus timer shipped without touching the streak engine. Why a routine stores nothing but a list of ids, and why the timer stores a start time instead of counting.

    2 min

Build the habit. Keep the week.

PaceStreak is a habit and streak tracker for training and everything else worth doing regularly.