Streaming · PyFlink · Kafka

PMS Price Engine

A dynamic pricing engine for vacation rentals built to learn streaming for real: PyFlink, Kafka, CDC with Debezium, keyed state, exactly-once checkpointing, and a pipeline designed spec-first with ADRs and live auditing.

What this project demonstrates

Select any card to read how it was solved and why.

Architecture

CDC from Postgres via Debezium, two independent PyFlink jobs on the same cluster (pricing and Market Pulse), DynamoDB as the hot path, and Apache Iceberg as the cold path, transformed with dbt.

PMS Price Engine architecture diagram