惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
有赞技术团队
有赞技术团队
S
SegmentFault 最新的问题
宝玉的分享
宝玉的分享
量子位
小众软件
小众软件
The Cloudflare Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
大猫的无限游戏
大猫的无限游戏
C
Check Point Blog
G
Google Developers Blog
博客园 - 叶小钗
H
Help Net Security
Jina AI
Jina AI
Y
Y Combinator Blog
Last Week in AI
Last Week in AI
GbyAI
GbyAI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Apple Machine Learning Research
Apple Machine Learning Research
MyScale Blog
MyScale Blog
T
Tailwind CSS Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Vercel News
Vercel News

Hacker News

Probed — Talk to Your People HN Work GitHub - Northwood-Systems/foreman: Self-hosted LLM gateway. Cost effective, deterministic, and fast. Secure and private by default. A Visualization Language for the AI Era NoCrap — Neuroscience-Based Recovery Pods GitHub - weirdGuy/kastor: Declarative language and toolchain for AI agents: define agents, tools and prompts in HCL, then compile to frameworks or manage them on hosted platforms with plan/apply semantics. Abralo - Run multiple Claude Code agents in one window GitHub - mehranzand/repofleet: RepoFleet is an issue-centered CLI tool for managing Git workflows across multiple repositories. GitHub - exmergo/dex: Dex is the agent-native analytics engineering toolkit. Point it at your warehouse and your dbt project. It learns the landscape, authors your transformations, and tells you exactly what to fix when the schema drifts. Built for analytics engineers and data engineers who want more out of their coding agent. GitHub - instavm/tarit: A hypervisor and sandbox cloud for self-hosted AI agents and RL Chiptune Radio — Aleph Void, LLC Free Mermaid Live Editor & Diagram Maker GitHub - Salnika/dejavu: Stop showing coding agents the same command output twice. GitHub - hirasso/html-obfuscator: Obfuscate emails, phone numbers, and other sensitive data in PHP. Invisible to humans, hidden from bots until they interact. Davit — a native macOS UI for Apple containers Fenzo AI - The perfect course, every time. HTML Drive — Edit and Publish HTML from Google Drive GitHub - rowboatlabs/rowboat: Open-source AI coworker, with memory ZeroGate | Automated Cluster Scaling A tiny scale-free kernel language — Joa Ebert GitHub - arman-jalili/guardian-framework: Architecture Enforcement Framework for AI-Assisted Development Yamanote.fun PostgreSQL on AWS: Size & Benchmark EC2 Instances GitHub - zqiren/Orbital: the agent that never starts from zero GitHub - Rodiun/frugon: Free, local, open-source LLM cost analyzer — see where your LLM bill leaks, on your machine. Artificiety — A Fantasy World for AI Agents Ex Situ FlexInference: Drop your AI costs today WhimFiles - Find Any File in Seconds GitHub - josephsenior/Grinta-Coding-Agent: Local-first autonomous coding agent that plans, executes, validates, and finishes software tasks end-to-end.
Pug — Open Source Product Analytics
BajajScooter · 2026-07-08 · via Hacker News

Open beta — free

Pug records what happens in your product — page views, clicks, scrolls, custom events — and ties every event to a person.

Ask questions with trends, funnels, retention, and user flows.

Self-host the whole stack, or use the free cloud.

Start free Live demo

GDPR EU‑hosted

user-09996

ext cust_009996

Created May 30 First seen 123d ago Last seen 4d ago Android 11 New York City, US

Identified properties1 trait

nameDiana Jones

Recent activitylast 10 events

  • app_close 4d ago
  • scroll 4d ago 72%
  • page_view 4d ago
  • app_open 4d ago
  • checkout_started 4d ago USD 416.21
  • add_to_cart 4d ago prod-0198
  • search 4d ago shirt

Get started

First events in two minutes.

Initialize the SDK and auto-tracking starts immediately — no event plan, no instrumentation sprint. Call identify() when someone signs in; their anonymous history merges into their profile.

import { init, identify, track } from '@poluruprvn/pug-web'

init('your-project-id', { apiKey: 'pub_your_key' })

// Page views, clicks, scrolls, form interactions, rage clicks,
// and dead clicks are captured automatically from here on.
identify('user_123', { email: '[email protected]', plan: 'pro' })
track('signup', { plan: 'pro' })
track('order_completed', { amount: 49.0, currency: 'USD' })
import 'package:pug_flutter_sdk/pug_flutter_sdk.dart';

await Pug.init('your-project-id', const PugOptions(apiKey: 'pub_your_key'));

// Auto-tracking starts immediately. Identify users on sign-in:
await Pug.identify('user_123', traits: {'plan': 'pro'});

// Typed methods for well-known events (custom props go in extras):
Pug.track.signup(extras: {'plan': 'pro'});
import { Pug } from 'sdk-node'

const pug = new Pug({ apiKey: process.env.PUG_API_KEY }) // private key, prv_…

// Server events name the user explicitly — no ambient session.
pug.track('user_123', 'order_completed', { amount: 49.0, currency: 'USD' })
await pug.identify('user_123', { email: '[email protected]', plan: 'pro' })
// Private keys can also read: profiles and insight queries.
const profile = await pug.profiles.getByExternalId('user_123')

Captured automatically

  • page_view every route change
  • click element, text, selector
  • scroll max depth per page
  • form_submit form interactions
  • rage_click frustration signal
  • dead_click clicks that did nothing

Plus your own

  • signup name any action you care about
  • order_completed with properties — amount, currency
  • video_play queryable like any built-in event

Added on ingest

  • Geo (country, region, city)
  • Device & browser
  • UTM parameters

Live

See events arrive in real time.

Every event shows up seconds after it happens — on a live map and in a stream, with the page, device, and location already attached.

  • Ship a tracking change and know within seconds that it fires
  • Watch a launch land as it happens: how many people, from where, on which pages
  • Filter to the event behind a new feature and watch the first real users hit it
Pug's Live view: a map of the Tokyo region with event markers, a panel showing 169 users live now with event, device, and country filters, a focused video_play event from a OnePlus 12 in Tokyo, and a stream of just-arrived events — login from Singapore, app_open from London, click from Seattle

Unified profiles

One profile per person, not per device or session.

The profile you saw at the top of this page is the core of Pug: every session, trait, and event a person ever generated, in one searchable timeline.

  • Before sign-in, events accrue to an anonymous ID
  • identify(userId) merges that history into one profile
  • Works across devices: web today, app tomorrow — same person
  • Traits (plan, email, anything) live on the profile and filter every insight

Unified profile user_123

  1. page_view anon
  2. scroll anon
  3. add_to_cart anon
  4. identify('user_123') history joins
  5. signup
  6. order_completed

Insights

Six ways to turn events into answers.

Every insight runs over raw events in ClickHouse — filter by any property, break down by any dimension, and get answers in seconds.

Trends

Time-series of any event. Count, unique users, avg per user, or sum/avg/min/max of a numeric property. Break down by up to 5 properties.

Funnels

Conversion across ordered steps, with drop-off and average time between steps.

Retention

Cohort heatmap from a start event and a return event — who comes back, and when.

Segmentation

One aggregate sliced by any dimension — built for KPI tiles and scorecards.

User flow

A Sankey of the paths users actually take between events — where they go next, where they drop.

Top K

Ranked values of any property — top pages, top referrers, top products — with an “others” bucket.

Trends · signups, last 30 days

Funnel · signup → purchase

Retention · weekly cohorts

Cohort W0W1W2W3W4W5W6 Apr 27 100624841363331 May 4 1005845393532 May 11 10064514438 May 18 100614740 May 25 1006652 Jun 1 10063

User flow · after page_view

page_view 100% of sessions, next step →

Dashboards

The numbers you check every morning, on one board.

Pin any insight as a tile. The whole board shares one time window, so every tile answers the same question: how is this period doing against the last one?

  • KPI, line, area, bar, table, and Sankey tiles
  • One time window and granularity for the whole board
  • Period-over-period comparison per tile
  • Thresholds that color a KPI when it crosses a limit
  • Markdown tiles for notes between charts

Growth board Last 30 days · vs previous

Signups 1,284 +12.4%

Checkout conversion 3.8% −0.4pt

Weekly active users 9,412 +6.1%

Top pages

  • /pricing 4,812
  • /docs/quickstart 3,080
  • /changelog 1,781

Self-host

Run it on your servers, or use ours.

The entire pipeline is open source — the same code serves the cloud and your own deployment.

SDK track() & identify()

API Connect RPC ingest

NATS Async pipeline

Workers Geo & enrichment

ClickHouse Analytics store

Dashboard Insights & profiles

Self-hosted

  • One Go binary runs the server and every worker
  • PostgreSQL for accounts and config, ClickHouse for events, NATS for the queue
  • AGPL-3.0 — read the code, run it anywhere, your data never leaves

Cloud

  • Managed hosting with zero ops
  • Open beta — free
  • Pricing announced before general availability

Coming soon

Customer engagement, from the same profiles.

Run campaigns on the people you already track — composed from profiles and events, delivered to the channels your users are on.

See the roadmap
  • Web Push
  • Email
  • SMS
  • WhatsApp
  • Android Push
  • iOS Push
  • Webhook

Start tracking today. Own your data forever.

Open source, self-hostable, and free during open beta. Create a project and see live events in minutes.

Start free

Questions? Email [email protected]