StreakStack is a developer API for adding streaks, milestones, and climbing reward tiers to any app. Duolingo-grade engagement. Three lines of code.
import { StreakStack } from 'streakstack';
const ss = new StreakStack('sk_live_...');
// User completes an action → streak increments
await ss.track('user_123', 'daily_login');
// Check their progression
const progress = await ss.getProgress('user_123');
// → { streak: 14, tier: "silver", reward_pct: 35 }
// primitives
Track consecutive actions with configurable windows (daily, weekly, custom). Soft resets, grace periods, and freeze tokens built in. Users keep coming back to protect their streak.
Define checkpoints that unlock rewards at any threshold. 10 logins, 50 purchases, 100 workouts. Each milestone triggers webhooks so your app reacts instantly.
Climbing reward percentages that increase with engagement. Start users at 1% and let them climb to 100%. The core mechanic that makes retention feel like a game.
Real-time dashboards showing streak distribution, tier progression, and churn risk. Know which milestones drive the most retention and optimize your reward curves.
// progression
// the future
Every app with recurring users needs engagement mechanics. Streaks, milestones, climbing rewards. Today, only companies that can afford $10k/month platforms or build it themselves get access. StreakStack exists to change that. Progressive rewards infrastructure, open to everyone.