Day 33 / Daily GitHub Discovery / Developer Tools

PostHog

Combine product analytics, feature flags, experiments, and session replay.

~25,000 stars · checked Sep 28, 2026
TypeScriptReactPythonClickHouseKafkaPostgreSQLRedis
Visit GitHub (opens in a new tab)

What it does

PostHog collects product events and provides analytics and related product tools. Feature flags and session replay integrate with those event workflows.

Why it’s interesting

Event ingestion and analytical querying have different workloads. A shared event model can link product metrics to user experience, subject to careful privacy controls.

Real-world use case

Roll out a UI feature to a small cohort and compare conversion while reviewing masked sessions.

What I can learn

  • 01

    Event pipelines and batching

    Trace how incoming events are buffered and processed in batches before becoming available to analytics queries.

  • 02

    Session recording and privacy masking

    Learn how browser snapshots and mutations can be replayed while sensitive values are masked.

  • 03

    Flag evaluation and rollout strategies

    Understand percentage rollouts and local evaluation so features can be exposed gradually without a request on every page view.

One thing to explore

Event processing and frontend scenes

Follow the plugin-server/src/worker implementation and connect it to the concepts above.

Explore the source (opens in a new tab)

10-Minute Challenge

Send a test event

Before you start: Node.js and a PostHog test project key. Send synthetic data only.

  1. Create a PostHog test project and copy its project key to an environment variable.
  2. Install the Node SDK and send one synthetic event.
  3. Confirm that it appears in the project event explorer.
Terminal
npm install posthog-node
JavaScript
import { PostHog } from "posthog-node";const client = new PostHog(process.env.POSTHOG_KEY, { host: "https://us.i.posthog.com" });client.capture({ distinctId: "demo-user", event: "repository_discovery_viewed" });await client.shutdown();

Keep exploring

All repositories →