Archives
All the articles I've archived.
Text reveal: complete runnable code
Split a line into independent elements, then give each one an increasing delay. Every variant builds on that. Zero dependencies.
Magnetic buttons and cursor follow: one formula, four outputs
Multiply the distance between the pointer and an element's center by a strength factor, then ease it with lerp. The same formula drives magnets, layered parallax, CSS spotlights, and 3D tilt.
Scroll storytelling: smooth scroll, pin, parallax, progress
A zero-dependency demo of four scroll storytelling techniques: smooth scrolling, pinned horizontal travel, parallax layers, and a scroll-driven counter, with a GSAP and Lenis counterpart.
Running 24,000 particles with raw WebGL
Generate the initial particle data once, then calculate each frame's positions in a vertex shader. The complete interactive demo runs inside the post.
What changed in the MCP draft: sessions and handshake are gone
Notes from the official MCP spec draft's changelog, compared against the 2025-11-25 version, focused on sessions, the handshake, MRTR, and migration impact.
Latest digest
What I've been reading lately.
How Handler Context reaches database queries
To be updated.
Where timeouts bite after HTTP enters a Go process
To be updated.
Backend notes
To be updated.
Breaking down Orloj: Agent runtime, control plane, and embedded console
Updated:A close read of Orloj's single-agent loop, multi-agent graph routing, tools and governance, and how the Go control plane, Postgres leases, and React console wire into the same resources. With core code and diagrams.
What this blog is for
A short intro, and the kinds of notes I keep publishing here.
How I break down an Agent project
To be updated.
Full-stack learning: get one path working end to end
To be updated.