Push notifications
Behavioral push notifications for your mobile app
Send automated, personalized push notifications triggered by what users do in your product — across iOS, Android, and React Native, with no extra infrastructure.
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 product data and turns it into stats and streaks so every notification reflects real user activity.
- Block-based editor
- Build push notification templates with drag-and-drop blocks 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 delivery, retention impact, and reactivation performance across every push notification you send with Trophy.
- Track delivery status
- See sent, scheduled, and unsent notifications across every automated push sequence in your app.
- Measure retention impact
- Compare retention rates by notification to understand which reactivation messages bring users back.
- Optimize reactivation flows
- Identify which inactivity windows perform best and refine your push cadence over time.
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
163ms
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 product teams
Learn why growing product teams are increasing engagement with Trophy.
Get started




