— Products

Push notifications that don't annoy people.

Firebase Cloud Messaging unifies APNs and FCM under one API. The harder problem isn't delivery — it's knowing when not to send.

3 min readPublished 2026-04-22By AptixLabs studio
A phone surface with a notification banner overlayAptixLabs · 2026-04-22

Push notifications are easy to deliver and hard to deserve. UltraFit360 sends pushes through Firebase Cloud Messaging, which unifies APNs (iOS) and FCM (Android) under one API. The technical setup is solved; the discipline is what matters.

The delivery layer

Cloud Functions handle push composition. A workout-reminder push reads the user's schedule from Firestore, decides whether to send based on time-of-day rules, and ships to FCM. The same code path handles iOS and Android — APNs token registration is automatic on first install.

The discipline layer

The hard problem isn't delivery — it's knowing when not to send. UltraFit360 enforces a few rules:

  • Maximum 3 pushes per user per day, regardless of trigger
  • No pushes between 9pm and 7am in the user's timezone
  • Reminder pushes skip if the user already opened the app that day
  • Marketing pushes go through a separate channel with opt-in default-off
  • Every push category can be toggled in settings — granular, not all-or-nothing

What we measure

Open rate on every category, churn rate within 7 days of a push burst, opt-out rate per category. A push that drives opens but increases churn is a net loss — the studio kills those categories quickly.

Rich pushes

iOS notification service extensions decorate workout-complete pushes with the user's photo and a heart-rate chart. Android notification channels carry the same payload. Rich pushes are reserved for moments that earn attention — not every event.

Have a project like this?

The studio is taking on a small number of partners. Tell us what you're building — we reply within a working day.

Start a conversation