Engineering notes from real projects
Deep dives on distributed systems, automation, AI agents, OS internals, and developer tooling — built from hands-on project work.
Projects
Agent-to-agent mesh network built on WebRTC DataChannels. Distributed systems, peer-to-peer networking, and AI agent orchestration.
Automating SAP Ariba procurement workflows — from sourcing events to contract management.
Designing and building agentic AI frameworks — tool use, planning, memory, and multi-agent coordination.
Building an operating system from scratch — bootloaders, kernels, memory management, and system calls.
Tips, workflows, and patterns for getting the most out of Claude Code as a development tool.
Threat Modeling Distributed Systems -- From Attack Surfaces to Mitigations
Most security incidents in distributed systems do not come from novel cryptographic attacks. They come from overlooked assumptions: an endpoint that was never meant to be public, a token that never...
Testing Distributed Systems -- From Unit Tests to End-to-End Validation
A distributed system is a collection of independent processes that communicate over a network to achieve a shared goal. Testing such a system is harder than testing a monolith because bugs can hide...
Architecture Decision Records -- Making Decisions Visible and Reversible
Six months from now, someone will look at the chatixia-mesh codebase and ask: 'Why does every Python agent spawn a separate Rust process just to send a JSON message?' The code will show what happen...
Deploying Distributed Systems -- Docker Compose, Tunnels, and Cross-Network Connectivity
Building a distributed system and deploying it are fundamentally different problems. The code that runs on your laptop in three terminal windows needs a different strategy when it runs across a Ras...
Building Monitoring Dashboards
A distributed system without a dashboard is a distributed system you cannot operate. You can read logs, tail metrics, and write scripts that parse JSON -- but none of that tells you the current sta...
In-Memory State -- DashMap, Eventual Consistency, and the Database Question
Every networked service needs to store state -- who is connected, what work is pending, what configuration applies. The question is where that state lives and what guarantees it provides.
Transport Layer Trade-offs -- WebRTC vs HTTP vs gRPC
Choosing a transport layer for a distributed system is not a question with one right answer. It is a question about trade-offs -- and the right answer depends on where your system runs, how many no...
The Sidecar Pattern -- Encapsulating Complexity Across Process Boundaries
A sidecar is a helper process that runs alongside a primary application process. It handles cross-cutting concerns -- responsibilities that every service needs but that do not belong in the applica...
AI Agent Architecture: Skills, LLMs, and Orchestration
A chatbot responds to prompts. An agent acts.
Authentication in Distributed Systems
API Keys, JWTs, and Device Pairing
Application Protocol Design -- MeshMessage and Task Lifecycle
Lessons 05 and 06 covered how chatixia-mesh establishes connections (signaling) and how the sidecar bridges WebRTC to Python (IPC). Both of those are transport protocols -- they move bytes between ...
IPC Design -- Bridging Languages with Unix Sockets
The chatixia-mesh sidecar pattern splits the system into two processes: a Rust sidecar that handles WebRTC networking, and a Python agent that runs application logic. These processes need to talk t...
Designing a Signaling Protocol -- JSON over WebSocket
A protocol is a contract between two or more systems about how they will communicate. It defines three things:
Async Programming -- Concurrency Without Threads
The simplest model for a network server is to spawn one thread for every client connection. A chat server using this model might look like:
WebRTC Fundamentals: The Protocol Stack for Real-Time P2P
WebRTC (Web Real-Time Communication) is an open standard for peer-to-peer communication. Most people associate it with video calls in a browser, but that is only one use case. WebRTC defines three ...
Peer-to-Peer Networking: When Servers Get Out of the Way
The vast majority of internet traffic follows the client-server model: your browser (client) sends a request to a server, and the server sends back a response. This pattern dominates because it is ...
Why Distributed Systems? From Monolith to Mesh
A distributed system is a collection of independent processes, running on different machines, that coordinate over a network to accomplish a shared goal. To an outside observer, the system behaves ...
Curriculum Overview
A structured learning curriculum that uses chatixia-mesh -- an agent-to-agent mesh network built on WebRTC DataChannels -- as a case study for distributed systems, peer-to-peer networking, and AI a...
Glossary
Definitions for all domain-specific terms used across the chatixia-mesh curriculum. Consult this glossary when you encounter unfamiliar terminology in any lesson.
Reading List
Curated resources for deepening your understanding of the topics covered in this curriculum. Organized by topic area, with references to the relevant lessons.