Back to build log

spark-coach/2026-03-10

Shipped

Briefing owns the schedule, quizzes don't

CostReview timing drifts from pure spaced-repetition math.

agentsspaced-repetitionproduct

Constraint

Spark Coach had to make unfinished learning visible without turning into another notification firehose. Daily briefings, spaced-repetition quizzes, and abandonment alerts all wanted a morning slot. Only one surface could own the schedule, or the product would train people to mute it.

Options

  1. Push quizzes on their own cron (optimal SM-2 timing) and let briefings be a separate digest.
  2. Fold quiz prompts into the daily briefing and accept that review timing drifts from pure spaced-repetition math.
  3. Make abandonment alerts the primary interrupt, and treat briefing/quiz as on-demand.

Chose

Option 2. The tradeoff: review intervals are no longer textbook SM-2. A card due at 2am waits for the morning briefing. I paid accuracy of spacing to keep one trusted daily ritual. A coach that pings three ways dies; a coach that shows up once can be harsh and still get opened.