Backend engineer, 15+ years in high-performance distributed systems — Cassandra at scale, Kafka/Flink pipelines, and the cloud-native platforms underneath them.
These days I build MCP servers and Kubernetes operators, and write about the failure modes that only show up in production.
📫 Email: jakub@slys.dev
🌐 Website: iam.slys.dev
A client library, a gateway, and the n8n nodes that sit on top of them.
| Project | ||
|---|---|---|
| substack-api | TypeScript | An entity-based client for the Substack API — publications, posts, comments, profiles. |
| substack-gateway-oss | Python | A stateless gateway exposing Substack as both a REST API and an MCP server, so the same surface serves scripts and AI agents alike. Extensible through installable capabilities. |
| n8n-nodes-substack | TypeScript | Community n8n nodes for newsletter automation, built directly on substack-api. |
| n8n-nodes-substack-new | TypeScript | The same idea rebuilt against Substack Gateway instead of the client library — the node stops owning API details and talks to a service that already does. |
Two takes on the same operator, a rewrite apart.
| Project | ||
|---|---|---|
| n8n-operator | Go | The original. Manages a single n8n instance per resource. |
| n8n-rustful-operator | Rust | The rewrite, and the one to use. Handles single instances and clustered deployments. |
I publish at iam.slys.dev — system design walked through end to end, machine learning without the hand-waving, and short notes on the engineering lesson hiding inside one specific failure.
Recent posts:
- Statistics for humans — Mean, Variance, and the stories they tell
- Median of two sorted arrays: the binary search you will rarely need
- Pastebin at scale: lessons from GitHub Gist and Bitly
Three bare-metal nodes running k0s, used as a real platform rather than a toy — everything below is actually serving something, which is the only way the interesting problems show up.
| Networking | Cilium (CNI, L2 announcements) · Istio in ambient mode · external-dns · cert-manager · Tailscale |
| Storage | Longhorn · LVM CSI |
| Data | CloudNativePG · Redpanda · Dragonfly |
| Identity | Ory — Hydra (OAuth 2.1), Kratos (identities), Keto (permissions), Oathkeeper (gateway authz) |
| Secrets | Vault · External Secrets Operator |
| Observability | VictoriaMetrics · VictoriaLogs · Vector · Grafana |
| Workloads | n8n in cluster mode · the MCP servers and gateway listed above, behind OIDC |
Model Context Protocol as a first-class integration surface — building MCP servers and running them behind OIDC rather than behind an API key.
Distributed stream processing with Kafka/Flink, low-latency data systems, and Rust for the things that used to be Go.
Learning to be a dad — by far the most complex multi-threaded system I've encountered.
"Removing the central node doesn't remove the load — it spreads it across every link you forgot was shared."





