Add Pug to your stack
Pug ships three SDKs — Web, Node, and Flutter. The browser frameworks all use the same framework-agnostic Web SDK. Pick yours for the exact setup.
Pug for Next.js
Add product analytics to a Next.js app with the framework-agnostic Web SDK — autocapture in one client component.
Set it up Web SDKPug for React
Drop the Web SDK into any React app — call init() once at startup and autocapture every interaction.
Set it up Web SDKPug for Vue
Initialise the Web SDK in main.ts and get autocapture across your Vue app — no plugin required.
Set it up Node SDKPug for Node.js
Send authoritative server-side events from your backend with the Node SDK — and read profiles back.
Set it up Flutter SDKPug for Flutter
Ship product analytics in your Flutter app with the Dart SDK — auto-tracking and typed events.
Set it upThree SDKs, not one per framework
A framework page tells you where to put the call. This tells you which SDK is making it — most products end up with two, a browser one and a server one, writing to the same profiles.
-
Web SDK
@pug-sh/browserAnything that runs in a browser — Next.js, React, Vue, Svelte, or plain JavaScript. One init() call turns on six autocapture trackers, and a public key is safe to ship in client code.
-
Node SDK
@pug-sh/nodeEvents that must be true regardless of the browser — payments, webhooks, background jobs. Names the user explicitly, and the same private key reads profiles and insights back.
-
Flutter SDK
pug_flutterCross-platform apps on iOS, Android, web, and desktop. Lifecycle tracking starts at init(); a route observer adds screen views, and typed methods cover the well-known events.
Integrate in minutes.
One init() call and autocapture starts. Self-host the whole stack under AGPL-3.0, or use the free cloud during open beta.
Questions? Email [email protected]