Things I've shipped
Zero-Copy Ring Buffer
A lock-free, single-producer single-consumer queue in Rust — 12ns median latency.
Started as a 2am frustration: every ring buffer I found either allocated on the hot path or had a mutex hiding somewhere. So I built one that doesn't.
It uses a power-of-two capacity trick and acquire/release ordering — no CAS loops, just two atomic loads and two stores. Ships as a no_std crate.
Async Work Scheduler
Tokio-backed task scheduler with deadline propagation and work-stealing.
The problem: a data pipeline where upstream latency was unpredictable. Downstream workers were starving or flooding depending on the day.
The scheduler tracks per-task deadlines through the queue and sheds load gracefully when backpressure builds. P99 latency dropped from 400ms to 38ms.
Obsidian Sync Engine
CRDTs for personal knowledge management — merge conflicts are now a solved problem.
What's next. Still rough at the edges — the merge resolution UI is a sketch, not a render.
CRDT-based sync for Obsidian vaults across devices. Yjs under the hood, custom awareness protocol, works offline-first. The part I'm most proud of: the diff viewer that shows you *why* a merge happened, not just what changed.
Essays from the notebook
Long-form writing on systems design, Rust internals, and the craft of building software that lasts.
Why I Stopped Fighting the Borrow Checker
Three years of Rust taught me that the compiler isn't an obstacle — it's a collaborator. A dispatch from the other side of the learning curve.
The Lie of "Simple" Distributed Systems
Everyone says "just use Kafka." Nobody talks about what happens at 3am when the consumer group rebalances mid-transaction.
Lock-Free Data Structures Are Not Free
The hidden cost of going lock-free: cache coherence traffic, memory ordering complexity, and the bugs that don't show up until production.
Writing Code That Reads Like Prose
Variable names are the cheapest documentation you'll ever write. A case for naming things as carefully as you name your children.
On Building Things That Outlast You
A meditation on software that runs in production for a decade. What decisions made it possible, and what would I do differently.
The Async Trap
When async/await became mainstream, we all reached for it reflexively. Here's when synchronous code is still the right answer.
What colleagues say
The code review was surgical. Every comment was a lesson — not a correction. I've been doing this for twelve years and I still learned something new about ownership semantics.

Priya Nair
Staff Engineer · Stripe
"Marcus's talk on lock-free queues was the best technical session at the conference. He made the memory model feel intuitive — which I didn't think was possible."

Daniel Osei
Principal Engineer · Cloudflare
"I forked the ring buffer crate and it's running in production handling 80k messages/sec. Solid design, zero issues in six months. That's the bar."

Yuki Tanaka
Senior SWE · Figma
GitHub Activity
1,247 contributions in the last year
engineers already saved a seat
The build log.
One per month.
One build log per month — no spam, no fluff, just the notebook. Deep dives into whatever I'm building, annotated with decisions, mistakes, and the parts that took three rewrites to get right.
The architecture decision that didn't make the README
Benchmark results, including the ones that were embarrassing
One recommended read that changed how I think
