Install two packages, mint a token, ship a working feed. No infrastructure to run, no schemas to design, no queues to babysit.
Negative splits the whole way. Legs finally back under me.
Group ride, held the wheel to the last climb.
No credentials to hand over, no webhook plumbing. Your backend mints tokens offline and the SDKs speak plain fetch.
One line on your server signs a short-lived token. Your secret stays on your box — Dropin never sees it.
One isomorphic client, zero dependencies. Same import works in the browser, on the server, or at the edge.
Reactive counts with optimistic updates that roll back on failure. No query library, no extra state manager.
Timeline, notification bell, profile. Every screen below is the showcase app — built on the three SDKs and nothing else.
Three packages mirror the ergonomics your team already knows. Drop feeds into an app without touching the raw transport.
Per-tenant data isolation, with no shared rows. Your backend signs tokens offline — we hold no credentials.
Feeds stay fast as your network grows. Constant in page size, no hot keys.
Everything else lives in the docs — quickstart, walkthrough, guides and the full OpenAPI reference.
Browse the docsNo. Your backend is the identity provider — it mints short-lived HS256 tokens offline with your tenant secret, and the gateway verifies them without ever phoning home.
Every tenant lives in its own data store, not a shared table with a tenant column. Cross-tenant reads are impossible by construction — there is no row that could leak.
Not by design. Notification feeds are flat and polled — useNotifications takes a pollInterval — which keeps the surface small and the failure modes obvious.
One round trip, constant in page size — feeds stay snappy as your network grows.
None. @dropinnodex/client is isomorphic, fetch-only and dependency-free. @dropinnodex/react adds hooks with optimistic updates if you want them.
Install two packages, mint a token, read a feed. The walkthrough takes it all the way to a finished screen.