Senior software engineer in Amsterdam building software with AI agents.
I write about what I learn shipping it in production.
Newsletter
What I learn each month actually shipping AI agents to production.
Unsubscribe anytime.
AI usage
DashboardPosts
2026
- Embeddings rot too. Running pgvector in production.
- Stop shipping retrieval changes on vibes
- Your RAG is confidently wrong without hybrid search
- Stop tuning everything. pgvector has three knobs that matter.
- Your agent's knowledge base is lying to you. Run these 14 checks.
- I read all 1,061 comments on Karpathy's llm-wiki gist
- Claude watermarks its text now. Let's panic?
- HNSW or IVFFlat? Choosing and building your pgvector index
- Every result scores 0.81. Your search is broken.
- Search text and screenshots with one pgvector column
- Vector search in Postgres isn't magic
- AI agent architecture patterns that survive production
- Stop adding prompts. Your agent needs control flow.
- pgvector vs Pinecone for RAG
- RAG with Postgres, Drizzle, and pgvector
- Building an MCP Server in TypeScript with NestJS
- Build an MCP Server from Scratch
- Self-hosting an LLM as a TypeScript Developer
- Running Homebrew on Linux with Multiple Users
- Drizzle ORM vs Prisma
- Running cron jobs in NestJS
- Kafka vs RabbitMQ
- Zod vs Yup
- Unit and e2e testing in NestJS with Jest and Supertest
- NestJS microservices with a real two-service example
- TypeScript conditional types and how infer works