
Lessons Learned
Hard-won lessons from 8 years of backend engineering. The stuff books don't teach — only trial, error, and production incidents do.
A series of real-world lessons from 8 years of building backend systems — from painful migration stories to hard architectural decisions. Each post is a true story, a real lesson, not textbook theory.
Posts in this series

Don't Leave Logging for Later: Lessons From 1M Users
1M+ users, production incident — inconsistent log formats forced S3 export and Athena queries. A logging lesson every developer should learn early.

From Grep to Semantic Search: How OpenClaw Builds Memory for AI Agents
Updated OpenClaw, hit a missing API token error on memory_search, traced it to embeddings. A walk through the hybrid retrieval pipeline that replaced file reading.

The Things That Never Go Obsolete
After years of tech transitions and team training, the differentiator was never the frameworks someone knew — it was what they had underneath.

Why Mem0 Exists: Memory Needs More Than Vector Search
50K+ GitHub stars — Mem0 isn't just another vector database. It solves the hardest part of the memory problem that most of us overlook.