Predict. Prevent. Perform.
From 26,670 sensor samples per second to actionable predictions — before failures happen.

EventDetect batching kitchen
6 dosing stations · Guided tour · Runs in your browser · No sign-up
Shipped, Running, Written Up
What we have built lately. Every item below is live or published, and you can try or read all of it.
EventDetect batching kitchen
A six-station ISA-88 batching kitchen that turns plant signals into named events with evidence and cause chains. Take the guided tour, or stop the filling line yourself and watch the cause chain build up to a high-high trip.
- A line stop, traced. Stop the filling line and the detector links tank rise, held transfers and the high-high trip into one cause chain.
- A sticky valve, caught with its cause. A slow valve close and the dose overshoot it causes are recorded as linked events, not two unrelated alarms.
- A rebuild, projected. Timing every valve stroke spots ST-104 slowing over a shift and projects when it needs a rebuild, before a batch fails.
Anthropic replaced git. We run 157 repos at a hundred merges a day — here's what transfers
Anthropic's engineering team published how they rebuilt source control for a 100 GB monorepo doing 30,000 merges a day, nearly all by agents. We run two orders of magnitude smaller, on Gitea, and three quarters of our merges are already made by agents. Five of their ideas transfer; three don't.
We said Stalwart's WebUI had no SSO. We were wrong — here's why it looked that way
A correction. Stalwart v0.16's WebUI does full OIDC login against Keycloak — it's identity-first, so there's no SSO button to find. Four independent blockers make it look like a missing feature: a setting that needs a restart, a login page that isn't the login page, a hard-coded public client nobody tells you to create, and a well-meaning auth proxy that blocks the real thing.
Deploying Stalwart Mail v0.16 declaratively on Kubernetes — GitOps with no config.toml
Stalwart v0.16 removed TOML config files. Here's why pinning to v0.15.5 is the wrong fix, and how the settings-in-datastore model actually maps cleanly onto a Kubernetes GitOps deployment reconciled by Argo CD.
From Sensor to Prediction
Four tiers of progressively richer intelligence. Each layer reduces noise, adds context, and delivers insight — from raw vibration at the edge to fleet-wide predictions in the cloud.
Acquisition
XLSensor
26.67 kHz sampling, on-device DSP, 5-second lookback buffer
Inference
XLBroker
Per-machine AI inference, local decision-making
Correlation
XLHub
PTP time sync (<100µs), cross-machine root cause analysis
Analytics
XLCloud
NATS JetStream + TimescaleDB, fleet-wide trend analysis
Built for Performance
Every component engineered for reliability, speed, and precision.
99% Data Reduction
Intelligence at the edge means only anomalies travel the network
Normal operations are aggressively downsampled to 1-minute summaries. Only the 1% that matters — anomalies — is retained at full resolution for five years.
Sub-Microsecond Timing
PTP (IEEE 1588) replaces NTP
Phase-aligned correlation across sensors with <100µs precision. When a spindle rotates at 10,000 RPM, millisecond errors are unacceptable.
5-Second Lookback
Circular buffer captures pre-anomaly context
External QSPI PSRAM maintains a rolling 5-second buffer. When AI detects an anomaly, it reaches back in time to capture the complete failure context.
Event-Driven Pipeline
NATS JetStream → xl-events → TimescaleDB
Every action generates structured events. Full observability from sensor to dashboard. No silent failures, no data gaps.
AI Voice Agent
Talk to your infrastructure
LiveKit-powered voice diagnostics with Claude AI. Ask questions about equipment health, schedule maintenance, get real-time status — by voice.
Autonomous Governance
Git-based scope authorization
AI operates within ticket boundaries with full audit trail. Automated at 3 AM with clear escalation paths via Gotify notifications.
The Event Pipeline
Data flows through a precision-engineered pipeline. Every stage publishes events. No silent failures.
ARM CMSIS-DSP processes 26,670 samples per second. NATS JetStream delivers events in microseconds. TimescaleDB persists with 90-day retention. Every layer is observable.
Ready for a Predict-It Culture?
Move from fix-it dashboards to autonomous predictive intelligence. Your sensors can see failures before they happen — and reach back into the past to prove why.