Skip to content

Snoop

Snoop — network and analytics inspector for Compose Multiplatform

Maven Central License Platforms

Snoop is an on-device inspector for network traffic and analytics events, built for Compose Multiplatform. Both streams land on one timeline, so you can see a request and the events around it without leaving the app — on Android and iOS.

Network inspection in KMP is a solved problem, but nothing unifies network + analytics in one Compose surface, and no tool inspects analytics events independently of the vendor SDK. Snoop does both.

Features

  • Unified timeline — network calls and analytics events interleaved, filterable by type and channel, searchable, and collapsible into per-screen groups opened by the analytics event of your choice (screen_view by default).
  • Rich detail — headers, pretty-printed JSON bodies, timing, cURL export; event parameters with channel and annotations.
  • Redaction at capture — headers, query parameters and form-body fields are replaced with a visible ██ before anything reaches the store; raw secrets never land in memory.
  • Web viewer — an embedded HTTP server streams the same timeline to a desktop browser over SSE.
  • Live notification — a persistent notification lists the latest captures and reopens the inspector (Android and iOS).
  • No-op mirrors — release builds swap in API-identical stubs that capture nothing and drop the UI/retention overhead.

Modules

You add one artifact per capture source, plus snoop-ui for the on-device inspector; snoop-core arrives transitively.

Artifact What it does
snoop-ktor Ktor client plugin that captures traffic
snoop-analytics Vendor-agnostic log(name, channel, properties) sink
snoop-ui Compose Multiplatform inspector UI and the live notifications
snoop-core Models, store, redaction and the web viewer (transitive)
snoop-*-no-op Empty mirrors with the identical API for release builds

snoop-ui is the only artifact that depends on Compose — leave it out and you get the web viewer with no Compose in your graph.

See Getting started to install, then Integration to open the inspector.