Writing

Notes from real projects on AI agents, data platforms and system architecture. Written in plain language.

ModelToolsEvalsContextMemory
FeaturedAI Engineering

The harness matters more than the model

Most of the quality in an AI agent comes from the code around the model. How I think about tools, context, memory and evaluation.

From building AI agents for clients
tool servicesSlackAirflowAgentCloud RunWeb fetchSearchWarehouse
Architecture

Running AI agents on Google Cloud: keep the tools outside the agent

An architecture for company agents that people use from Slack and Airflow, that query the warehouse, and that stay safe to change.

From building an internal agent platform on Google Cloud
untrusted inputUserDocumentsWeb pagesTool outputModelChecksscope, okTools
AI Engineering

Prompt injection: every input is untrusted

Once an LLM can read documents and call tools, any text it reads can try to give it orders. Simple defenses that actually help.

From building agents that read documents and call tools
where most answers go wrongDocsowner, dateChunksclean splitsIndex+ metadataModelanswersfix the data before you blame the model
AI Engineering

RAG in production is mostly a data problem

Most bad answers from a RAG system start before the model is even called. Where they come from and how to measure them.

From putting retrieval over company documents into production
prompt v1prompt v2prompt v3Test setfixed casesv162%v278%v391%
AI Engineering

Prompts are code. Treat them that way.

Small wording changes can move accuracy a lot. Version prompts, test them on a fixed set, and let real code do the maths.

From shipping LLM features to production
Salesowns ordersServiceowns diagnosticsProductowns usageFinanceowns invoicesMarketingowns campaignsSupportowns ticketsShared platformstorage, catalog, access
Architecture

Data mesh in practice: start with ownership, not tools

Data mesh is mostly an agreement between teams. The simple version that worked for me across six teams.

From moving data ownership to domain teams
Legacy warehousemove step by stepLakehouseDatabricksComparecounts, totalsMonday reportstill on time
Data Engineering

Moving to a lakehouse without stopping the business

A step by step way to migrate legacy pipelines to Databricks on AWS while reports keep running.

From migrating legacy pipelines to Databricks on AWS
PostgresAPIs, filesS3rawSnowflakeclean modelsBIdashboardsAirflow schedules and retries
Data Engineering

A small, solid data warehouse on AWS

How I set up S3, Airflow and Snowflake so a growing company could trust its numbers, and what I would still do the same way.

From building the data warehouse for a fintech team