K AVAILABLE

WRITING / HOW I THINK

Writing

Engineering stories, decisions, and lessons with the context left in.

07 ARTICLES
W-017 min read

Why 80% of Enterprise RAG Pipelines Fail Before They Reach the Vector Database

Scrambled tables, dirty OCR, and orphan chunks quietly poison vector search β€” here's the four-stage pipeline I use to stop it.

RAGVector SearchLLMData Engineering+2
W-026 min read

I Gave My LinkedIn Posts a Memory β€” Here’s What Happened

How Model Context Protocol, a local SQLite second brain, and the official LinkedIn API let any AI client draft, remember, and publish posts.

MCP ServerTypeScriptLinkedInAI+2
W-034 min read

Why Direct Text-to-SQL Is Broken in Production

The pattern works great on ten rows of mock data. Here's why it falls apart the moment real users touch it.

AI EngineeringDatabasesSecurityText-to-SQL+2
W-045 min read

The LLM Wasn't Hallucinating: The Subtle SSE Streaming Bug That Broke Our AI Planner

Why your AI streaming parser silently drops tokens across TCP packet boundaries β€” and how to fix it with a line accumulator.

AI EngineeringStreamingSSETypeScript+3
W-053 min read

Why defer Saved My Go Concurrency Code From a Silent Deadlock

Any function with error handling has multiple exit paths that can skip cleanup. Here's how Go's defer prevents silent goroutine deadlocks.

GoGolangConcurrencyGoroutines+2
W-066 min read

Why We Ditched Prisma for Go + sqlc: Cut Memory Footprint by 90% and Reclaimed Query Control

Why SQL-First code generation is outperforming ORM magic in high-performance microservices.

GoGolangPostgreSQLPrisma+5
W-074 min read

9 Hard Truths About Building SaaS in 2026

What separates SaaS products people actually pay for from the ones that quietly fade out.

SaaSProduct ManagementStartupEngineering+1
7 ARTICLES INDEXED βœ“