← Back home

Writing

Long-form notes on architecture, AI governance, and shipped project work.

Running with Scissors: How Tech Evolution Means the Risks Just Change Shape

3 min

Docker-era chaos got tamed into boring infrastructure — but the same reckless-speed pressure just moved up the stack onto generative AI and modern software supply chains.

engineering-cultureplatform-riskai-adoption

Lessons Learned Deploying a RAG API to Google Cloud Run

3 min

Eight concrete gotchas from shipping a FastAPI + LlamaIndex + Qdrant RAG backend to Cloud Run — shared embedding dependencies, default service-account permissions, and why Cloud Run is private by default.

raggoogle-cloud-runllamaindexdeployment

Ontology Engineering and CQRS

5 min

What an ontology actually is, when OWL/DL reasoning earns its cost over a plain knowledge graph, and why event sourcing and ontology engineering are orthogonal, not competing, concerns.

ontology-engineeringcqrsevent-sourcingknowledge-graphs

Observability Tells You What Happened, Evals Tell You If It Was Any Good

6 min

Why LLM observability and evaluation are two different jobs — and the loop (trace, evaluate, regression-test, deploy, pull failures back into the dataset) that most teams still aren't running end-to-end.

llm-observabilityevalsai-in-production

Why We're Rebuilding Hadisfar Health From the Ground Up

3 min

An early look at why Hadisfar Health moved off managed WordPress hosting entirely — since revised: the live site now runs on Astro + Firebase Hosting + Cloud Run, not the Frappe Builder stack described below.

case-studygcpwebsite-migration

Agent Plugins: Bundling Behaviour, Not Just Access

3 min

MCP solved what tools an agent can access — Agent Plugins solve how it should use them, bundling skills, tools, rules, and hooks behind progressive disclosure instead of an ever-growing system prompt.

agentic-aigoogle-adkmcpagent-plugins