Push notifications
Behavioral push notifications for your mobile app
Send streak reminders, achievement unlocked notifications, and reactivation sequences triggered by in-app events in each users local timezone. Deliver natively across iOS, Android via Firebase, APNs, and Expo.
Powering gamification experiences for 1M+ users
Learn why product teams trust Trophy. Read our customer stories
Use case
Turn product data into push notifications
Use Trophy's visual editor to build behavioral push notifications with conditional logic and live device previews.
- First-party data
- Trophy ingests your app events and turns it into stats and streaks so every notification reflects real user activity.
- Block-based editor
- Build push notification templates with a visual editor and preview how each message renders on a device.
- Conditional logic
- Send different messages based on user attributes, streak status, and message number with if/else rules.
- Deliver natively across platforms
- Connect Trophy to Frebase, APNs, and Expo to deliver push notifications natively across iOS and Android.
Analytics
Understand how your push notifications perform
Measure sent, scheduled, and unsent status across every automated push sequence you send with Trophy.
- Track delivery status
- See sent, scheduled, and unsent notifications across every automated push sequence in your app.
- Compare sequences
- See which templates and trigger events send most reliably so you can iterate on copy and timing.
- Tune sequence cadence
- See which inactivity windows and message numbers send, then adjust cadence in the dashboard.
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.
// Track lesson completions in Trophy
const newState = await trophy.metrics.event('lessons-completed', {
user: {
id: user.id,
tz: 'Europe/London',
},
value: 1,
idempotencyKey: 'lesson-id',
})
// React to state changes
const newStreakLength = newState.currentStreak.length
const unlockedAchievements = newState.achievements
const newPointsAwarded = newState.pointsTrophy MCP
Sonnet 4.6 · 8 tools loaded
> Set up workout tracking, a points system, and a leaderboard for our fitness app
Listed Trophy MCP tools · read metrics and leaderboards docs
(ctrl+o to expand)
I'll wire up a workouts-completed metric, a FitPoints program, and a weekly leaderboard:
- Metric - workouts-completed per session
- Points - 10 FitPoints per workout
- Leaderboard - Weekly movers by points
metrics.create({ name: 'Workouts Completed', key: 'workouts-completed' })
points.create({ name: 'FitPoints', triggers: [{ metric: 'workouts-completed', threshold: 1, points: 10 }] })
leaderboards.create({ name: 'Weekly movers', pointsSystemId: 'b666380e-2cd9-4e08-888d-5e044db1a9f2', runUnit: 'day', runInterval: 7 })
Metric, points program, and leaderboard are created in staging, 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
150ms
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.




