Skip to content

Gamification: milestone celebration animation (confetti) #60

Description

@tangentlin

Motivation

Burnbar's durable archive naturally accumulates streaks and thresholds (days tracked, total spend milestones). A small celebratory animation when the user hits one — surfaced only in the dashboard, not as a tray interruption — adds delight without compromising the app's quiet, tray-only posture.

Proposal

Detect simple milestones (e.g. "30 days tracked", round-number total-spend thresholds like "$100 burned") and play a subtle celebration animation (confetti/sparkle burst) in the dashboard the next time it's opened after the milestone is crossed.

Feasibility notes

  • Milestone detection is a pure function over existing archive totals (derive.ts territory) — no new archive fields needed if milestones are computed from already-derived totals, though tracking "already celebrated" milestones to avoid repeat animations needs a small piece of persisted state (a natural fit alongside settings.ts's existing persisted preferences).
  • Explicitly dashboard-only, not tray/notification-based — keeps it consistent with Burnbar's best-effort, non-interruptive design (CaptureService, update flow) where nothing surfaces without the user opening something.

Acceptance criteria

  • A small, well-defined set of milestones (streak length and/or spend thresholds) is detected from existing archive data.
  • Each milestone celebrates once (persisted "seen" state), not on every dashboard open.
  • Animation is confined to the dashboard window — no tray popups, notifications, or interruptions.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions