pod 'Notifie'0.1.0-beta.5Push notifications you can actually prove arrived
Notifie is notification infrastructure for mobile teams. Schedule locally with no backend, or emit an event and let a durable workflow decide — then follow it all the way to the device that displayed it.
- No credit card
- Free during public beta
- You keep your APNs and FCM keys
import Notifie
Notifie.initialize(apiKey: "ntf_live_...")
Notifie.identify(userId: "usr_2f8")
// That is the integration. Everything after this is configured, not coded.
Notifie.track("order_shipped", properties: ["orderId": "A-1183"])
// Enrol the device once; the SDK owns the APNs token from here.
try await Notifie.enableNotifications()Start where you are
Three calls, then stop writing notification code.
Initialize, identify, track. From that point the decisions — who receives what, after how long, how often, on which platform — move to the dashboard, where you can change them without shipping an app update.
When the event lives on your server instead, the same product works without an SDK: POST it, and a durable workflow handles waiting, branching and delivery.
npx @notifie-dev/cli@beta initPublished to the registries you already use
rohit1521/notifieNext releasedev.notifie:notifie-android0.1.0-beta.6notifie_flutter0.1.0-beta.10@notifie-dev/cli0.1.0-beta.2How it works
Three moving parts, one continuous record.
Most stacks lose the thread between the thing that happened and the notification a person actually saw. Notifie keeps them attached to the same run.
- 01
Emit an event
Call the SDK, or POST to the events API from your backend. Identity, device and app context travel with it.
- 02
Run a durable workflow
Wait days, branch on properties, cap frequency and retry — outside the request that started it.
- 03
Prove what happened
Provider acceptance, device presentation and the user’s open stay three separate facts.
One send, two devices, two different truths. Retrying would have double-sent to the phone.
Accepted is not delivered
The last mile is where notification tools stop looking.
APNs returning 200 means Apple took the request. It does not mean a banner appeared, and it certainly does not mean anybody read it. Notifie records provider acceptance, device presentation and the user’s open as three separate facts — so “it says it sent” is never the end of the investigation.
- Per-token outcomes, not one status per send
- Permanent failures deactivate a dead token
- Retryable failures keep the run and its reason
Built for production
The boring guarantees, handled.
Replay-safe ingest
Send the same messageId twice and Notifie stores one event and dispatches one job.
Your provider accounts
APNs keys and FCM service accounts are encrypted, write-only to the browser, and never logged.
Six trigger types
Instant, delayed, scheduled, recurring, inactivity and API — one automation model behind all of them.
Fires once, not daily
Inactivity triggers re-arm only after the user comes back. Dormant users do not get a notification every morning.
Honest delivery states
Accepted is not delivered and delivered is not seen. Notifie refuses to collapse them into one optimistic status.
Works without the cloud
Events, permissions, deep links and token handling live in open SDKs you can read and fork.
Questions
Before you wire it into production.
Do I need APNs or FCM credentials?
Yes — Notifie sends through your own Apple and Firebase accounts rather than pooling delivery through ours. You upload an APNs key or a Firebase service account once, per app. Only the platforms you actually ship need one, so an Android-first project never has to touch APNs.
Is Notifie another push provider?
No. Notifie sits above APNs and FCM. Your app keeps its own Apple and Firebase credentials; Notifie owns identity, durable execution, targeting and the evidence trail around them.
Does “accepted” mean the user saw it?
No, and this is the distinction the product is built around. Provider acceptance only proves APNs or FCM took the request. Presentation on the device and the user’s open are recorded separately.
Which SDKs can I install today?
Swift, Android and Flutter are published to public registries, along with the CLI on npm. React Native and Web are still in private beta and are not published yet.
Is it open source?
The device layer is: SDKs, event contracts and the CLI. The cloud runtime that executes workflows and stores delivery evidence is not.
Ready to send one real notification?
Connect an app, emit a real event, and follow it to a physical device. Free while Notifie is in public beta.
Get started freeSimple pricing
Start free. Pay only when your volume outgrows the beta limits.
See pricingOpen at the edge
Read, fork and vendor the SDKs. Your app should not need us to stay useful.
View on GitHub