Add Pug to your stack
Pug ships six SDKs: Web, Android, Flutter, Node, Go, and Ruby. 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 up Android SDKPug for Android
Native Kotlin SDK for Android apps, callable from Java: automatic lifecycle, screen, and install events, plus typed well-known events.
Set it upSix SDKs cover every surface
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.
-
Android SDK
sh.pug:androidNative Android apps in Kotlin or Java. App opens, activity screen views, and installs are tracked from Pug.init; Pug.screen names composables and fragments, and typed methods cover the well-known events.
-
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.
-
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.
-
Go SDK
github.com/pug-sh/sdk-goThe same server-side role for Go services. Track and Identify never block or fail, background goroutines send the batches, and one client is safe for concurrent use. Properties are typed fields, and well-known events can be checked at compile time.
-
Ruby SDK
pug-shThe same server-side role for Rails and plain Ruby. Tracking never blocks or raises, a background thread sends the batches, and one client serves every thread and is safe to create before Puma or Unicorn fork their workers.
Send your first event.
Create a project, add the snippet, and watch the Live view fill up. Or open the demo first: the real dashboard on a sample pet shop, with no sign-up.
Questions? Email hello@pug.sh