I work remote only, with teams running systems where latency, ordering and correctness carry real cost. Onchain execution and settlement. Streaming platforms. Autonomous agents making decisions without a human in the loop.
Twenty-seven years building distributed systems. Founder and CEO of Scalytics. Co-creator and PMC member of Apache Wayang. Author of KafScale. Allianz, Cloudera and E.ON before that.
I still run production systems myself. Not a slide deck practice.
Onchain & High-Throughput Systems
Most teams shipping onchain do not have a problem another RPC provider fixes. They have a throughput, ordering and consistency problem wearing a blockchain costume.
I work on:
Execution and settlement paths where fill quality depends on latency budget
Indexer architecture, reorg handling and replay-safe state reconstruction
Market data ingestion from exchange and onchain sources into a single consistent view
Reconciling local state against chain truth, including the failure modes nobody tests for
Non-custodial execution layers and deterministic routing
I currently operate an unattended trading system against live onchain prediction markets. Multiple concurrent websocket feeds, sub-second decision cadence, real capital, adversarial counterparties, months without intervention. Everything below is informed by systems that lose money when they are wrong.
Streaming & Event Infrastructure
Kafka and Flink platforms that stay operable as load and team size grow. I set the boundaries, contracts and failure semantics before they harden into something nobody can change.
Event-driven and streaming system design
Kafka, Flink and compute-layer patterns for real-time systems
Backpressure, replay, exactly-once semantics and what they actually cost
Ingestion pipelines under bursty and adversarial load
Resilience, failure handling and operational hardening
Includes CDC and industrial telemetry ingestion. Debezium above 10k TPS, BACnet and MQTT bridges, device fleets that misbehave in ways the protocol spec does not cover.
AI Agent Infrastructure & Autonomous Decision Systems
Agents that act without supervision need the same discipline as trading systems. Most teams instrument the happy path and have no idea why the agent did what it did.
Decision journaling: recording what the system saw, what it chose, and what it refused to do
Scoring rejected decisions against realized outcomes, so you know whether a guardrail earns its keep or quietly blocks good work
Statistical calibration of thresholds using confidence bounds rather than raw hit rates
Replayable event streams as the tracing substrate for long-lived stateful workflows
Risk state machines, exposure caps and kill switches for systems with real-world side effects
Private inference, retrieval and embedding architecture where data cannot leave
Most observability stacks tell you the agent ran. They cannot tell you whether it should have.
Data Platforms & Large-Scale Processing
The foundation the above sits on. Contracts, lifecycle boundaries and compute architecture that teams can build on without renegotiating every quarter.
Streaming, micro-batch and batch architecture
Iceberg and lakehouse governance, schema evolution, layout design
Federated and cross-engine processing across Spark, Flink and warehouses
Modernization of legacy platforms without stopping delivery
Architecture Review & System Audit
Independent assessment when the direction is unclear or the system is behaving badly.
Architecture review for distributed systems and data platforms
Root-cause analysis of production failures and cross-cutting issues
Platform strategy and modernization roadmaps
Technical due diligence
Working together
Most engagements start with a 30 minute call about your system and whether I am the right person for it.
Book a call or reach me on LinkedIn.
Over one week we rebuilt our AI stack around OpenClaw’s multi-agent architecture to avoid provider lock-in and stop wasting premium tokens. By aligning models to tasks, diversifying fallbacks across providers, enforcing minimal tool access, and switching to memory-first workflows with ephemeral sessions, we reduced token usage per task by about 70% and cut our monthly bill by 77% while improving operational resilience. How We Achieved 77% Cost Reduction and Provider Independence Over the past week, we rebuilt our AI infrastructure around OpenClaw’s multi-agent architecture. The result was a 77% cost reduction , provider independence , and a delegation system that routes work to the most cost-effective model for each job. Below is the technical journey of optimizing a 7-agent squad with OpenClaw. The Challenge: Model Provider Lock-In We started with a simple problem: our entire squad defaulted to a single model provider. This created three issues: Cost inefficiency beca...
bacnet2mqtt looks simple in a README and expensive in production. Once BACnet polling, reconnection behavior, stale state, and MQTT publishing collide, teams discover they are not deploying a lightweight adapter but operating infrastructure. This article breaks down where bacnet2mqtt works, where it becomes a bottleneck, and which production patterns reduce the operational damage before incidents, backlogs, and silent data loss turn a building integration into a long-running engineering problem. I inherited a building controls integration problem 18 months ago. Three office floors. 217 BACnet sensors covering temperature, occupancy, and HVAC actuators. The data was trapped inside the building automation network while the business wanted analytics, reporting, and compliance visibility in the data platform. The obvious answer looked easy enough: deploy bacnet2mqtt, bridge BACnet into MQTT, and push the stream into the lakehouse stack. The repository made it sound like a w...
Since we found an increasing interest in the flume community to get Apache Flume running on Windows systems again, I spent some time to figure out how we can reach that. Finally, the good news - Apache Flume runs on Windows. You need some tweaks to get them running. Prerequisites Build system: maven 3x, git, jdk1.6.x, WinRAR (or similar program) Apache Flume agent: jdk1.6.x, WinRAR (or similar program), Ultraedit++ or similar texteditor Tweak the Windows build box 1. Download and install JDK 1.6x from Oracle 2. Set the environment variables => Start - type " env " into the search box, select " E dit system environment variables ", click Environment Variables, Select " New " from the " Systems variables " box, type " JAVA_HOME " into " variable name " and the path to your JDK installation into "Variable value" (Example: C:\Program Files (x86)\Java\jdk1.6.0_33 ) 3. Download maven from Apache 4. Set...