Projects / Platforms & apps

Learning analytics pipeline.

A self-hosted PostHog deployment for learning-record analytics. Events flow through Kafka into ClickHouse and out to dashboards client organizations read directly, and OAuth 2.0 single sign-on lets their staff log straight in.

Stack
PostHog (self-hosted), Kafka, ClickHouse, Docker, OAuth 2.0
Scale
Per-learner event streams, every client organization
Role
Set it up and ran it
PostHog product analytics dashboard with a trend chart and a pie chart

Flow.

  1. Learning events
  2. PostHog SDK
  3. Kafka
  4. ClickHouse
  5. Insights & dashboards
  6. Client reporting

How it works.

Every learner interaction is captured as an event through the PostHog SDK. Self-hosting PostHog gave us its full pipeline, Kafka ingestion into ClickHouse, without sending learner data to a third party or paying per event.

Progress, time on task, and completion are modelled as insights and dashboards that client organizations can read directly, replacing reports that used to be assembled by hand.

OAuth 2.0 single sign-on lets each client organization’s staff authenticate into the platform with their own identity provider.

Hard parts.

Outcome.

Client-facing reporting that used to be manual became live dashboards, with learner data kept inside the platform’s own boundary.

Screens.

PostHog product analytics dashboard with a trend chart and a pie chart
PostHog, self-hosted: the same dashboards and insights, running on our own Kafka and ClickHouse. Image courtesy of PostHog.