The journal

Notes from the climb.

Tools we shipped, lessons from real engagements, and the occasional opinion on building and scaling software.

EngineeringAugust 6, 20269 min read

The ClickHouse server was not just out of memory, it was out of time.

A client's ClickHouse cluster kept dying with MEMORY_LIMIT_EXCEEDED, but no single query was too big. The real culprit was four materialized views rebuilding all of history every twelve minutes. Replacing them with incremental batch loads took combined refresh time from 15.3 minutes to 4.4 seconds and eliminated the OOMs entirely.

Read post
EngineeringJune 11, 20268 min read

Turning the Aimtell REST API into an MCP server

How we built a multi-tenant MCP server for Aimtell, wrapping their 60-endpoint REST API so their users can drive push and analytics from an AI client. The hard parts were product decisions and documentation archaeology, not HTTP plumbing.

Read post