Streaks
Pre-built streaks feature for consumer apps
Ship daily, weekly, or monthly streaks powered by in-app user actions with automatic timezone and DST management. Use pre-built freeze and pause mechanics help keep streak intact.
12
day streak
Powering gamification experiences for 1M+ users
Learn why product teams trust Trophy. Read our customer stories
Streaks engine
A pre-built streaks feature
Build in-app streaks using a flexible, pre-built streak engine ready for scale.
- Flexible streak engine
- Build daily, weekly, or monthly streaks powered by any combination of user interactions and conditions.
- User-customizable streak logic
- Let users customize streak logic within defined guardrails without custom streak tracking code.
- Timezone-aware tracking
- Track streaks with timezone-aware expiration so users never silently lose streaks due to time zone or daylight savings edge cases.
Streak freezes
Automatically save streaks when users miss a period
Auto-grant and auto-consume streak freezes so a missed period does not break the streak.
- Configurable earning rates
- Use auto-earn logic to automatically grant streak freezes to users over time, up to a maximum number.
- Automatic consumption
- Automatically consume streak freezes when users are about to lose their streak.
- Configurable freeze inventory
- Set how many freezes users can hold so missed periods skip instead of resetting the count.
Streak pauses
Let users pause streaks when they need a break
Set global off days, or have users set vacation days to pauses streaks themselves.
- Global off days
- Set global off days around the natural usage patterns of your app
- User-defined vacation days
- Let users set vacation days to pause streaks themselves.
Streak reminder notifications
Nudge users before streaks break
Send automated email and push reminders when users are about to lose their streak.
- Automated streak protection
- Automatically detect when users are about to lose their streak and send a timely reminder before it breaks.
- Email and push channels
- Reach users with streak reminders over email, push notifications, or both — whichever channels they prefer.
- Respect user preferences
- Let users opt out through a built-in preference center so you stay data and privacy compliant.
30-day streak at risk
Come back today to keep it alive
Streak analytics
See distribution, drop-off, and active volume
Track streak length distribution, active streak volume, and how many users sit on short versus long streaks so you can tune cadence and freeze settings.
- Track streak distribution
- See where users drop off across streak lengths so you can tune cadence, windows, and freeze settings.
- Monitor active streak volume
- Measure active streak counts over time to spot growth, seasonality, and sudden changes in the system.
- Compare short and long streaks
- See how many daily active users maintain short versus long streaks so you can adjust length targets.
Gamification software for modern product teams
The only gamification platform built for the modern era. Control via API or MCP and wire into your development workflow across multiple environments.
// Load current streak state for a user with recent history
const streak = await trophy.users.streak(user.id, {
historyPeriods: 14,
})
const activeLength = streak.length ?? 0
// Keep a compact history for the activity feed
const recentHistory = streak.history?.slice(-7) ?? []
// Get number of freezes remaining
const freezesRemaining = streak.freezes ?? 0Trophy MCP
Sonnet 4.6 · 8 tools loaded
> Add streak tracking for daily workouts. Give users 1 freeze a week to recover from missed days.
Listed Trophy MCP tools · read streaks and freezes docs
(ctrl+o to expand)
I'll wire up Trophy event tracking and configure the streaks feature to track one daily workout, with support for one freeze a week.
- Track completed workouts as Trophy metric events
- Configure Trophy streaks to track one daily workout, with freeze support
metrics.create({ name: 'Workouts Completed', key: 'workouts-completed' })
streaks.configure({ thresholds: [{ key: 'workouts-completed', length: 1 }], freezes: { max: 2, start: 1, autoEarn: 'weekly', autoEarnAmount: 1 } })
Streak tracking is configured in Trophy staging environment. Shall I copy to production?



Scale with confidence
Trusted by startups and enterprises alike. Scale seamlessly from your first to your millionth user.
150M
API requests · 30D
238ms
p95 latency · 24H
100.0%
Uptime · 90D
Data encryption
TLS 1.2+ in transit and AES-256 at rest
Privacy-first
Trophy operates without PII by default
Secure API keys
Rotation and revocation on demand
Fault tolerant
Automatic failover through redundancy
Rate limited
Per-endpoint limits maintain fair use
Idempotent
Retry requests without side-effects
Customers
Loved by consumer app teams
Learn why growing product teams are increasing engagement with Trophy.
Get started
Up and running in minutes
FAQ
Frequently asked questions
Have a different question and can’t find the answer you’re looking for? Send us an email.




