Projects Pulse

Real-time data pipeline

Pulse

A real-time data pipeline that streams every order as it happens, cleans and enriches it, flags likely fraud, and updates a live dashboard within a second.

An independent side project I designed and built in my own time to get hands-on with the technology. It isn’t client or GALE work.

Pulse's live dashboard: order events flow from Kafka through a stream processor to ClickHouse, with live counters, an orders-per-second chart and an event feed.
A quick look at the build

Why I built it

Most business dashboards refresh overnight, so a payment outage, a fraud spike or a product selling out is only discovered the next morning, after the damage is done. I built this to learn streaming systems by making one that reacts within a second.

What I built

Streams every event

Orders, payments and refunds arrive on Kafka the moment they happen.

Cleans and enriches

Duplicates are removed, currencies converted and customer details added on the fly.

Flags fraud in flight

Each order gets a risk score before it reaches the warehouse.

Fast analytics

ClickHouse answers questions over billions of rows in milliseconds.

Live dashboard

Numbers update on screen through WebSockets, with no refresh button.

Built to recover

Each event is processed exactly once, and the stream can be replayed if something fails.

How it works

  1. IngestServices publish order events to Kafka topics.
  2. ProcessA stream processor validates, enriches and scores every event.
  3. StoreClean events land in ClickHouse, ready to query.
  4. ServeThe dashboard subscribes and updates within a second.

Built with

  • Apache Kafka
  • Apache Flink
  • ClickHouse
  • Python
  • WebSockets
  • Docker
Esc
↑ ↓ to moveEnter to openEsc to close