Writing

I write about production AI the way I build it: what the constraint was, which decision mattered, what it cost, and the numbers afterwards. Most of it comes from shipping retrieval and agent systems on AWS and Azure for enterprise customers, and from building products alone. A few posts are experiments from outside work; they sit in their own section.

70 posts · RSS feed · The case studies

Start here

Four guides on how I build production AI: securing agents, answers you can verify, evaluation before launch, and cost without quality loss.

  1. · 7 min read · AISecurity

    Designing Secure AI Agents for Enterprise Data

    One prompt injection in a supplier PDF, followed through eight controls for AI agents on enterprise data: what each stops, what it misses, how to test it.

  2. · 6 min read · AgenticAI

    Building a Governed AI Analytics System with Verifiable Answers

    How to build an AI analyst executives can trust: the model plans, a deterministic engine computes, and every figure is inserted from a receipt the model cannot write.

  3. · 6 min read · RAG

    How to Evaluate a Production RAG System Before Deployment

    A practical way to evaluate a RAG system before customers use it: build the test set, score retrieval and answers apart, test refusal, and set a release gate.

  4. · 5 min read · LLMOps

    How to Reduce LLM Costs Without Regressing Answer Quality

    How I would cut LLM spend safely: find where the money goes, change one thing, prove quality held on a frozen suite, and roll out with a way back.

From the work

  1. · 7 min read · LLMOps

    Claude Fable 5.2 and Mythos 5.2: Benchmarks, Pricing, and When to Choose Them Over Opus 5.5

    Claude Fable 5.2 leads Anthropic's coding table and costs 20% less than Fable 5.1, yet twice Opus 5.5 per token. What the numbers mean, and when to pick it.

  2. · 8 min read · AISecurity

    GPT-6 Cyber vs Kimi K3.1 Pro: Gate the Hacking Capability, or Remove It?

    OpenAI released GPT-6 Cyber only to vetted security teams. Moonshot removed cyber data from Kimi K3.1 Pro before opening its weights. What each approach buys.

  3. · 9 min read · OpenWeights

    GPT-6 Astra Repaired Qwen3.5-0.8B by Editing Its Weights: What the MIT Result Really Shows

    MIT researchers had GPT-6 Astra change 0.016% of Qwen3.5-0.8B's weights, and MATH-500 rose from 7.9% to 48.1%. Why it worked, what it cost, and what it cannot do.

  4. · 6 min read · SoftwareEngineering

    Stop Rebuilding the Same Things: How I Built a Personal Engineering Toolkit

    Every project starts by rebuilding sign-in, evals and document parsing. How I turned my past work into a reusable toolkit.

  5. · 6 min read · LLMOps

    Gemini 4 Carbon vs Claude Opus 5.5: Benchmarks, Cost, and Production Readiness

    Gemini 4 Carbon vs Claude Opus 5.5: Carbon leads the Artificial Analysis index by one point, Opus leads on coding agents. What that means for cost and production.

  6. · 10 min read · MCP

    MCP Implementation Roadmap: A Six-Phase Enterprise Rollout Plan for the Model Context Protocol

    An MCP implementation roadmap for companies: six phases from a read-only pilot to approved writes, each with an exit test, and what the 2026-07-28 spec requires.

  7. · 8 min read · AISecurity

    LiteLLM Compromised Twice: Why a Valid Signature Did Not Help, and How to Protect Your AI Gateway

    LiteLLM's v1.107.0 was built by its own pipeline from a lookalike fork, then signed. What happened in March and October, why signatures failed, and a gateway checklist.

  8. · 8 min read · RAG

    Cohere Rerank 5: Better Retrieval, Less Context, and What the Benchmarks Really Show

    Cohere Rerank 5 adds Pro and Fast models and Context Focus, which picks the passages that matter inside each document. What the benchmarks show, and how to test it.

  9. · 8 min read · OpenWeights

    Meta Muse Spark Open: Licence Terms, the Hardware Bill, and What Its Safety Training Promises

    Meta released Muse Spark Open's weights on October 15. What the Muse Model License requires, what 816B parameters cost to host, and what safety training can promise.

  10. · 10 min read · LLMOps

    Claude Haiku 5.5: Benchmarks, Pricing, and Why Cheaper Tokens Don't Always Mean Cheaper AI

    In a well-designed AI application, changing the model should be an experiment with measurable acceptance criteria, not a rewrite of the system.

  11. · 8 min read · LLMOps

    GPT-6.1 Sol vs GPT-6 Astra: Benchmarks, Pricing, and the Real Cost of AI Agents

    GPT-6.1 Sol vs GPT-6 Astra: one point apart on the Artificial Analysis index, at a fifth of Astra's token price. Whether that saving survives real agent workloads.

  12. · 8 min read · AICoding

    Claude Opus 5.5 vs GPT-6 Astra: Coding Benchmarks, Cost, and What Matters in Real Projects

    A capable coding model can write a large amount of code. A dependable engineering process determines what is safe to keep.

  13. · 6 min read · AISecurity

    Google's Gemini Reached Three Real Companies in a Test: What Is Known and What Is Not

    Google confirms a Gemini model accessed three real companies during a May test at Irregular. What is confirmed, what is missing, and why disclosure matters.

  14. · 10 min read · AgenticAI

    Claude API On-Demand Compaction: Solving Long-Running Agent Context Without Losing Critical Information

    A model-generated summary is useful for continuity. Reliable execution depends on knowing which information can be summarized and which must remain verifiable.

  15. · 6 min read · LLMOps

    DeepSeek V4.1 Flash: Coding Benchmarks, Asymmetric Architecture, and the Economics of AI Agents

    The question is whether V4.1 Flash completes the same work, to the same acceptance standard, at a lower total cost.

  16. · 10 min read · RAG

    How LLMs Like ChatGPT or Gemini Turn Customer Feedback into Business Recommendations

    ChatGPT and Gemini do not learn from your customer feedback on their own. How it reaches the model, the pipeline behind business recommendations, and where it fails.

  17. · 6 min read · AISecurity

    GPT-6 Astra: Frontier Benchmarks, Critical Cybersecurity, and the Risk of Autonomous AI Agents

    A smarter model can make an agent more useful. It should never become the sole authority deciding what the agent is permitted to do.

  18. · 6 min read · AgenticAI

    Building a Governed AI Analytics System with Verifiable Answers

    How to build an AI analyst executives can trust: the model plans, a deterministic engine computes, and every figure is inserted from a receipt the model cannot write.

  19. · 6 min read · AgenticAI

    Anthropic's Model Hardware Standard: When AI Agents Start Controlling Physical Machines

    Anthropic's Model Hardware Standard lets AI agents operate lab and factory equipment. How MHS relates to MCP, and why safety limits belong in the device controller.

  20. · 7 min read · AgenticAI

    1,200 Agents and a Message Board: What METR and OpenAI Found in the Hugging Face Incident

    METR and OpenAI's reports show agents built a covert message board, recruited each other and attacked Hugging Face to beat a grader that never checked.

  21. · 8 min read · MCP

    MCP's August 2026 Roadmap: Stateless Servers, Agent Identity, and Enterprise Security

    MCP's July 28 specification made the protocol stateless; the August 22 roadmap puts agent identity and tool discovery next. What shipped, what is planned, how to prepare.

  22. · 6 min read · OpenWeights

    Qwen3.8-2.4T-A95B: Benchmarks, Architecture, and the Real Hardware Bill for Self-Hosting

    Qwen released 2.4T open weights on August 12. What the benchmarks cover, why a 4-bit checkpoint is 1.45 TB, and how much hardware it really takes to serve.

  23. · 6 min read · OnDeviceAI

    Liquid AI LFM2.5-2.6B: What a 2.7B-Parameter Agent Model Can Really Do on a Device

    Liquid AI's LFM2.5-2.6B targets tool calling on laptops and phones. What the numbers show, where it trails, and what the licence means for commercial use.

  24. · 7 min read · AISecurity

    AI Sandbox Escape Reports: What Anthropic, UK AISI, OpenAI and Meta Actually Said

    After OpenAI's breach, Anthropic, UK AISI, OpenAI and Meta reported agents reaching real systems. Most were open internet links, not escapes. Why that matters.

  25. · 7 min read · AISecurity

    Designing Secure AI Agents for Enterprise Data

    One prompt injection in a supplier PDF, followed through eight controls for AI agents on enterprise data: what each stops, what it misses, how to test it.

  26. · 6 min read · OpenWeights

    Kimi K3 Open Weights: Benchmarks, Licence, and What It Takes to Run 2.8T Parameters

    Kimi K3's open weights landed on July 27: 2.8T parameters, 104B active. Independent scores, the real licence terms, and why the 1.56 TB download is the easy part.

  27. · 6 min read · AISecurity

    OpenAI and Hugging Face: How Models Under Test Escaped a Sandbox and Breached Production

    GPT-5.6 Sol and a research model left a test sandbox through a package proxy zero-day and reached Hugging Face. What failed, what held, and what to change.

  28. · 6 min read · AISecurity

    AI Coding Agent Sandbox Escapes: How Cursor, Codex, Gemini CLI and Antigravity Were Bypassed

    Pillar Security found seven ways coding agents got out without breaking the sandbox: they wrote files that trusted tools later ran. The pattern and the fixes.

  29. · 5 min read · AISecurity

    The Hugging Face Intrusion: An AI Agent Attacker, and Guardrails That Blocked the Defenders

    Hugging Face says an autonomous agent ran its July intrusion, and that hosted AI guardrails refused its forensics. What defenders should prepare in advance.

  30. · 6 min read · AISecurity

    Grok Build Uploaded Whole Repositories: What the Wire Tests Show About AI Coding CLIs

    A proxy capture showed Grok Build sending entire git repositories to remote storage, and a training opt-out did not stop it. What was measured, and how to test.

  31. · 6 min read · DotNet

    .NET 8 and .NET 9 End of Support: Move to .NET 10 Now or Wait for .NET 11?

    .NET 8 and .NET 9 both end support on November 10, 2026. What breaks on the way to .NET 10, why waiting for .NET 11 is risky, and how to test the upgrade.

  32. · 5 min read · LLMOps

    How to Reduce LLM Costs Without Regressing Answer Quality

    How I would cut LLM spend safely: find where the money goes, change one thing, prove quality held on a frozen suite, and roll out with a way back.

  33. · 6 min read · LLMOps

    Claude Fable 5 Suspension: What a 19-Day Model Outage Means for Production AI

    Export controls took Claude Fable 5 offline for every user three days after launch. What the 19-day gap teaches teams that depend on one frontier model.

  34. · 8 min read · OpenWeights

    GLM-5.2 Open Weights: Benchmarks, MIT Licence, and the Hardware to Self-Host a 1.5 TB Model

    Z.ai released GLM-5.2 under MIT with a 1M-token context. What the vendor benchmarks show, what they leave out, and the memory arithmetic for running it yourself.

  35. · 6 min read · RAG

    How to Evaluate a Production RAG System Before Deployment

    A practical way to evaluate a RAG system before customers use it: build the test set, score retrieval and answers apart, test refusal, and set a release gate.

  36. · 6 min read · ModelEvaluation

    DeepSWE vs SWE-Bench Pro: What a 24% False Negative Estimate Means for Coding Benchmarks

    Datacurve's DeepSWE audit estimates SWE-Bench Pro verifiers wrongly rejected 24% of sampled trials. How to read coding agent leaderboards and test your own.

  37. · 8 min read · AgenticAI

    Claude Managed Agents, Gemini and Microsoft Agent Framework: Build or Buy Your Agent Runtime?

    Anthropic, Google and Microsoft now host your agent sessions. How isolation, state, pricing and lock-in compare, and what Agent Framework 1.0 means for Semantic Kernel.

  38. · 6 min read · AgenticAI

    PocketOS, Cursor and Railway: What the Nine-Second Database Deletion Really Teaches

    PocketOS's founder says a Cursor agent on Claude Opus 4.6 deleted a production volume with one API call. What Railway confirms, and which controls would hold.

  39. · 7 min read · LLMOps

    GPT-5.5 vs Claude Opus 4.7: API Pricing, Tokenizers, and the Real Cost per Task

    GPT-5.5 charges more per output token than Claude Opus 4.7, yet matched its top index score for a quarter of the cost. Why cost per task is the figure to compare.

  40. · 6 min read · AISecurity

    Claude Mythos Preview Sandbox Escape: What Anthropic's System Card Actually Says

    Anthropic's Mythos Preview card describes a sandbox escape it asked for and a public post nobody requested. What the coverage missed, and what to change.

  41. · 8 min read · OpenWeights

    DeepCoder Explained: Microsoft's 2017 Research vs Agentica's DeepCoder-14B, Worth Running in 2026?

    There are two DeepCoders: Microsoft Research's 2017 program-synthesis paper and Agentica's open-source DeepCoder-14B. What each one is, and whether to run the 14B now.

  42. · 8 min read · AICoding

    Claude Code Source Map Leak: How a .map File Reached npm, and the Release Checks That Stop It

    Claude Code 2.1.88 reached npm with a 59.8 MB source map. How map files end up in packages, and the release checks that stop them: allowlists, dry runs and diffs.

  43. · 6 min read · AISecurity

    Alibaba-Linked ROME Agent and the Crypto Mining Story: What the Paper Actually Says

    An Alibaba-affiliated paper says an agent opened a reverse SSH tunnel and diverted GPUs to mining in training. What it shows, and what the headlines added.

  44. · 8 min read · AgenticAI

    GPT-5.4 Tool Search and Long-Context Pricing: What the 272K Line Means for Agents

    GPT-5.4 can defer MCP tool schemas with tool search and read about 1.05M tokens, but prompts over 272K cost 2x input. What that means for agent design and cost.

  45. · 12 min read · SoftwareEngineering

    The End of Specialization: Why the Software Industry Is Entering a New Era of Engineering

    Front-end, back-end, QA and analyst roles are converging as AI tools make routine code cheap. Why systems thinking and engineering judgement now outlast syntax skills.

  46. · 4 min read · SEO

    Today I Used AI to Make My Portfolio Easier to Find on Google

    How AI Helped Me Improve Portfolio SEO and Performance

  47. · 8 min read · AICoding

    Claude Opus 4.6 Agent Teams Wrote a C Compiler: What $20,000 Bought and What It Did Not

    Sixteen Claude Opus 4.6 agents spent two weeks and nearly $20,000 writing a C compiler that builds Linux. What the tests specified, and what still needed a human.

  48. · 8 min read · AISecurity

    OpenClaw Gateway Takeover, Moltbook's Open Database and Malicious ClawHub Skills: What to Change

    A one-click OpenClaw gateway takeover, a Moltbook database without row-level security and 341 malicious ClawHub skills: what failed, and what to change.

  49. · 8 min read · MCP

    MCP Apps, the First Official MCP Extension: Interactive UIs, Sandboxing and What to Test

    MCP Apps lets MCP tools return interactive UIs that render in sandboxed iframes in Claude, VS Code and Goose. How it works, where the risks are, and what to test.

  50. · 5 min read · Metrics

    When the Metric Becomes the Target: Goodhart's Law in Software

    Why tickets closed, story points and test coverage get gamed once they become targets, what Wells Fargo shows, and how counter-metrics keep a target honest.

  51. · 5 min read · Product

    Every Custom Feature Comes With Interest

    Why customer-specific features cost more every release, how configuration, customisation and a fork differ, and how to price custom work for its whole life.

  52. · 5 min read · Architecture

    Conway's Law: Your System Copies Your Org Chart, and Your Client's

    What Melvin Conway wrote in 1968, why a large client's departments reshape your integration, and the questions to ask before you draw any service boundaries.

  53. · 5 min read · Customers

    The Customer Who Complains Is Still Talking to You

    A complaint is information and silence is exit. What the peak-and-end studies suggest about handling one, and how to investigate it without letting it set the roadmap.

  54. · 5 min read · Contracts

    Fixed Price or Time and Materials: Who Carries the Risk?

    How fixed price and time and materials split the uncertainty in a software contract, what each one rewards, and the middle options that make the risk explicit.

  55. · 5 min read · Prioritisation

    Cost of Delay: Put a Price on Waiting

    Rank work by what each week of waiting costs, divided by how long it takes: cost of delay and CD3, a worked example, and questions for planning.

  56. · 5 min read · BuildVsBuy

    Build or Buy? Either Way, You Pay for Something

    Build or buy, compared over the life of the system: the costs a two-month estimate leaves out, why teams lean towards building, and a decision table to reuse.

  57. · 5 min read · Leadership

    Your Best Engineer Might Be Your Biggest Risk

    Why the engineer who knows everything becomes a queue and a risk, what the bus factor measures, and how to spread knowledge before the next holiday tests it.

  58. · 5 min read · TechDebt

    Technical Debt Is a Loan: Explain It With Interest, Not Code

    Explain technical debt to the people who pay for it: principal, interest in days per change, and why to repay where code changes most, not where it looks worst.

  59. · 5 min read · Product

    The Feature Nobody Used, and What the Kano Model Says About It

    A feature can pass every acceptance test and change nothing. What the Kano model's paired questions reveal about must-be, attractive and indifferent features.

  60. · 5 min read · Estimation

    "How Long Will It Take?" Why a Software Estimate Is Not a Promise

    The decision behind 'how long will it take?', how estimates, targets and commitments differ, and how to answer with ranges, assumptions and scope that can move.

  61. · 5 min read · Scope

    "It's Just a Small Change": The Most Expensive Sentence in Software

    One extra field followed through migration, reports, APIs, integrations and support, with a ripple checklist and a way to state the cost without sounding defensive.

  62. · 5 min read · Requirements

    Everyone Agreed in the Meeting. Nobody Meant the Same Thing.

    Words like fast, simple and secure leave a meeting with three meanings. How to turn each one into a past example and a testable acceptance criterion.

  63. · 2 min read · JTBD

    Beyond the Obvious: Understanding True Needs

    The short film "It's Not About The Nail" serves as a poignant metaphor for understanding others, a scenario that resonates deeply in customer service and interpersonal…

  64. · 2 min read · ArtificialIntelligence

    Unraveling the Power of Large Language Models in Customer Review Analysis

    Decoding Customer Sentiments with AI

  65. · 1 min read · ProductDevelopment

    "Show Me the Money!" - Understanding the True Purpose of Your Code

    It's crucial to understand not just the code you're writing or the feature you're adding, but what it actually does – not for you, but for the customer. The client pays for or…

  66. · 1 min read · AI

    Is DeepCoder the End of Human Programmers?

    For those who are yet unacquainted, DeepCoder is an emerging tool that leans on artificial intelligence to solve programming-related problems. In essence, it analyzes the input…

Off the clock

  1. · 3 min read · Troubleshooting

    Today I Used AI to Save Movie Night (Yes, Really)

    How AI Helped Me Fix a Black-Screen HDMI Issue Fast

  2. · 2 min read · HealthSystems

    For Three Months, I Used AI to Drop 16 KG (ChatGPT Edition)

    How AI Helped Me Build a Fat-Loss System That Actually Fits Real Life

  3. · 1 min read · PersonalDevelopment

    Destructive Traits: How Your Behavior Affects Those Around You

    Inspired by what I've read and resonated with, this article delves into behaviors that can unknowingly harm our relationships. As Cathy Caprino points out in her insightful…

  4. · 1 min read · SelfImprovement

    Debug Yourself: How Lazy Are You?

    Redefining Laziness: A Journey to Self-Motivation