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

CampfireRevisionDojoLexiooOnePrepLealCyberPatientBohemian ResearchMaths GenieRitmo

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.

Official Gamification SDKs

NodeJS
Go
Java
.NET
PHP
Python
Ruby
First-class APIs for fast-moving teams
Idempotent, retry-safe, time-zone aware. Designed to feel obvious the first time you read the docs.
metrics.ts
// 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.points
Control everything via MCP
Beta
Connect Trophy to MCP clients like Cursor and Claude Code and configure features without touching the dashboard.

Trophy 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:

  1. Metric - workouts-completed per session
  2. Points - 10 FitPoints per workout
  3. 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?

Connect your stack via webhooks
Trigger workflows in third-party tools and internal systems in real time based on changes in Trophy.
Trophy
Customer.io
Knock
OneSignal
Mixpanel
Amplitude
Develop, test, and deploy across environments
Separate dev, staging, and production environments with their own keys, data, and configuration. Promote changes with confidence.
Production
Staging
Pre-prod
Jason Dev
Charlie Dev
Keith Dev

Scale with confidence

Trusted by startups and enterprises alike. Scale seamlessly from your first to your millionth user.

Scale from first user to millionth
Latency, throughput, and uptime that hold up as your user base grows.

150M

API requests · 30D

just now

163ms

p95 latency · 24H

just now

100.0%

Uptime · 90D

Secure by design
Encryption in transit and at rest, scoped API keys, and privacy-first defaults out of the box.
  • 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

Reliable at scale
Fault tolerance, rate limits, and idempotent APIs keep gamification logic dependable under load.
  • Fault tolerant

    Automatic failover through redundancy

  • Rate limited

    Per-endpoint limits maintain fair use

  • Idempotent

    Retry requests without side-effects