A high-performance analytics and ad delivery pipeline built with Rust, Kafka, ClickHouse, and an ML layer powered by dbt and XGBoost.
How page views, clicks, and ad events flow from client to ClickHouse.
Async Page tracking is fire-and-forget — the server responds immediately and processes the event in the background, keeping client latency minimal. Sync Ad tracking is synchronous — the server confirms the write before responding, ensuring impressions and clicks are reliably recorded.
How ads are served from MongoDB to clients in real time.
SSE The web client opens a persistent connection and receives ads as they rotate every 30 seconds. The mobile app fetches ads on launch and rotates them locally on a timer.
How raw events become dashboards and trained models.
Every piece of the stack and what it does.
A fast, reliable backend that handles all tracking requests and serves ads to clients.
A message queue that absorbs high volumes of events, ensuring no data is lost under load.
A high-performance analytics database purpose-built for querying billions of events in real time.
A flexible document store for ad definitions, supporting banner and video ad formats.
A lightweight JavaScript library that integrates into any web or mobile app with a single init() call.
Transforms raw events into clean, analytics-ready datasets using version-controlled SQL.
Predictive models for ad click-through rate and booking conversion, with full experiment tracking.
Real-time dashboards for views, clicks, ad performance, and user activity — refreshed automatically.