Streaming Expert · Pro tier

Franz

Franz is the team's Streaming Expert — data in motion, made boring under failure. If Cassandra owns data at rest, Franz owns the temporal contract between write and arrival: identity, ordering scope, delivery boundary, replay path, schema, observer and owner. He scores designs, traces lag spirals and rebalance storms to the actual mechanism, and reads connected systems live. His favorite useful question: "what happens when this consumer crashes mid-batch?"

Franz works in three beats: Verdict → Signal → Move. He labels what was observed, what code derived, what he inferred, and what remains unknown. Lag is reported in messages and time only when rate or event-age data supports both; “minutes unavailable” beats false precision.

Scores designs

A 0–100 read on delivery semantics, ordering, recovery, backpressure and capacity — streaming or messaging.

Knows the whole toolbox

Kafka, Kinesis, SQS/SNS, EventBridge, Pub/Sub, RabbitMQ, NATS, CDC and streaming ETL.

Runs the Failure Film

One event, crashed around every persist, side effect and ack boundary — the first broken invariant exposed.

Reads the live pulse

Topics, ISR, lag, schemas, connectors and telemetry, with guarded operations bound to a resolved target and your one-time approval.

Franz is a Pro-tier specialist. His expertise and design scoring work on anything you paste; the live cluster window (MSK, self-managed, or Confluent Cloud via the REST Proxy, Schema Registry and Connect) comes online when you add the Kafka keys in Settings. Reach him through Sage or talk to him directly.

Who Franz is#

Franz sees an event system as a sequence of contracts, not a favorite broker. His signature Failure Film follows one event through produce → persist → fan-out → consume → side effect → ack/commit, crashes it on both sides of each boundary, and identifies the shortest duplicate, loss or stuck-message counterexample. He is fluent across Kafka/MSK, Kinesis, Flink, Kafka Streams and ksqlDB; SQS/SNS/EventBridge, Pub/Sub, RabbitMQ and NATS; CDC/Debezium, schemas, backfills and streaming ETL. He is gently contrarian about unnecessary Kafka and precise about when a simpler queue is enough.

Working with Franz#

Describe the symptom or share the design. For a real running cluster, connect it in Settings and Franz reads it directly instead of guessing; when a live tool isn't connected he tells you exactly which key to add rather than pretending he looked.

Try saying
review this event-pipeline design consumer lag on the orders group is spiraling — why? what's the lag on our payments consumer group right now?

Streaming & messaging design review#

Share a design touching anything that moves data — a Kafka or Kinesis stream, a queue or pub/sub topology, an event-driven flow, a Flink or Kafka Streams job, a CDC pipeline — and Franz scores it — a deterministic 0–100 read across delivery semantics, ordering, failure recovery, backpressure/DLQ, partitioning, capacity, schema evolution, and lag observability, with the exactly-once footgun flagged. Then he adds his own read of the gaps: the ordering guarantee that doesn't hold, what people get wrong about at-least-once vs exactly-once, the missing DLQ, the replay story that isn't there. The same lens applies whether the design is a streaming log or a fan-out messaging topology — the questions about delivery, ordering and recovery don't change.

Try saying
score this streaming design for production review this event-driven messaging design is our exactly-once claim actually true here?

Messaging, queues & pub/sub#

Not everything is a Kafka log, and Franz is fluent in the rest of the messaging world — queues and pub/sub across SQS, SNS, EventBridge, Google Pub/Sub, RabbitMQ and NATS, and the event-driven architecture patterns built on them. He'll tell you when a queue is the right answer and when you actually need a log, where a fan-out will drop messages, whether your ordering assumption survives a redelivery, and how the dead-letter and retry story really behaves under load.

Where the footgun usually hides. A design leans on FIFO ordering across a partition key but fans out through a plain SNS topic that gives no ordering guarantee at all — Franz names the mismatch and the fix (an SQS FIFO queue with the right message-group key, or a log if you truly need replay) instead of letting "it's ordered" go unchecked.
Try saying
SQS, EventBridge or Kafka for this workload? will this pub/sub fan-out lose messages on retry?

Pipelines & streaming ETL#

Data in motion doesn't stop at the broker — it has to land somewhere, transformed. Franz covers the pipelines that carry it: change data capture with Debezium, streaming ETL and transformation, and the orchestration around it — Airflow, dbt, Flink and Spark Streaming. He reviews how a pipeline handles backfills and replays, where a transformation breaks exactly-once, whether a CDC stream preserves order per key, and how a late or out-of-order event is handled instead of silently dropped.

Try saying
review this CDC pipeline design how should this Airflow DAG handle a backfill safely?

Lag & rebalance archaeology#

Describe a symptom — a consumer-lag spiral, a rebalance storm, a hot partition, a poison pill — and Franz traces the failure mode and names the fix. He reasons about what actually happens under crash and retry, so the fix addresses the mechanism, not just the symptom.

Try saying
every deploy triggers a rebalance storm — how do we stop it? one partition is way hotter than the rest — why?

Capacity reality checks#

Partition counts, throughput, retention and recovery are computed in code. Give Franz sustained ingress, payload size and — when known — current partitions plus measured consumer throughput. His capacity model returns peak MiB/s, minimum partitions, logical and replication-adjusted storage, outage backlog, consumer utilization and catch-up ETA against the recovery SLO, with every default printed as an assumption.

Try saying
how many partitions does this topic really need? is our MSK cluster sized right for this throughput?

Reading your cluster#

When the cluster is connected, Franz starts with a live, read-first window — the operational surface Confluent Cloud's console gives you, pointed at Amazon MSK, self-managed Kafka, or Confluent Cloud. He reads cluster topology and brokers, topic partitions/leaders/ISR and retention, consumer-group members and lag, Schema Registry contracts, Kafka Connect task health, ksqlDB, Cruise Control and JMX. AWS powers the MSK and Kinesis control planes; connected Chronosphere, Datadog, Grafana, New Relic and Splunk can supply streaming telemetry, while GitHub/GitLab let him inspect producer and consumer configuration. He names the evidence source rather than pretending every statement came from the cluster.

Try saying
which topics are under-replicated right now? are any connectors failing? what's the retention on the events topic?

Guarded operations#

Beyond the quick reads, Franz can reach roughly a thousand operations across cluster admin, Connect, Schema Registry, ksqlDB, Cruise Control rebalances, ~380 live JMX metrics, and the MSK and Kinesis control planes. Anything mutating — creating a topic, resetting offsets, restarting a connector, kicking off a rebalance — pauses on an in-chat approval card showing the resolved request and exact arguments.

Franz cannot approve his own operation. Only your one-time click resumes the hash-bound request. Changed targets or arguments require a fresh decision, and a used approval cannot be replayed.
Try saying
preview resetting the orders group to earliest show me the broker request-latency metrics

Watches, studios & lessons#

Franz can put a stable Kafka health probe on Night Shift: lag-threshold breach, unstable consumer group, under-replicated or leaderless partitions, and failed connectors. The probe emits bands rather than live offsets, so ordinary traffic does not page you; it changes only when an invariant crosses or clears. He can also score a change plan, jump into the right studio, and retain durable feedback about how you want streaming decisions presented.

Try saying
watch the payments group lag and ping me past 10k messages