mohamedalyamin.com~/home
↓ CV
~blog --index

Writing

2026-04-18
Archiving Claude Copilot

I archived Claude Copilot this spring. It deserves a proper goodbye instead of a quiet repo archive button, so here it is. Copilot started as an extension of an open source framework, back when Claude Code was newer and I kept hitting the same walls: one agent, one repo, no memory between sessions. So I built around the walls. An orchestrator-worker pattern that could coordinate work across multiple repositories at once. Thirteen specialized agents with actual roles: architect, engineer, QA, security, DevOps, UX, and friends. Parallel streams of work with conflict detection between them, git worktrees keeping the agents out of each other’s way, and persistent memory in PostgreSQL so a session could pick up where the last one stopped. Node.js and Python glue, the Claude Code API underneath.

2025-06-10
The 400k events/sec engine

I spent most of the last year building one thing: a real-time filtering engine in Go that takes security events from 80+ different sources and decides, per event, whether anyone should care. It sustained around 400k events per second. This is the write-up I kept promising myself. The shape of it is simple to say and annoying to build. Kafka on the way in. A filtering and aggregation layer in the middle, with rules defined as JSON, not code. ClickHouse on the way out for analytics. Redis holds the state that rules need between events, and OpenTelemetry traces the whole path so I could actually see where time went.