Articles
Longer notes on how AI systems get put together: what runs where, what it costs, and where things break.
How to ship 10/10 MCPs
Humans work around bad APIs in silence. Agents tell you the exact field that tripped them up. Here's the two-part loop I use to test MCPs, APIs, CLIs and SDKs, what automated testing caught across 94 runs, and the harness I open-sourced for it.
Your agent hasn't read your folder
Opening a folder in Claude Code or Codex doesn't put its files in the model's head. It starts with almost nothing and has to go and read. That's a good thing, and it makes AGENTS.md the most important file you'll write.
An AI agent only does two things
At every step, an agent either writes you a message or calls a tool. That's the whole mechanism. Once you see it, Claude Code, ChatGPT and an n8n agent are the same thing with different tools, and you know where to look when one of them gets something wrong.
Your MCP can't accept binary files, here's the fix
A tool argument is text, so a PDF or an XLSX has nowhere to go. The trick: the MCP returns a one-time upload URL, and the agent sends the file there with a plain HTTP request. How I built it for my SaaS AI Glot, and how to secure it.
The tools I give every agent I run
Five keys I plug into whatever agent I'm using that day: Linkup for web search, Apify for scraping, Softr for storage, Cloudflare for deploys, OpenRouter for cheap model calls. What each one is for, and the rules I wrote down with it.
Being curious is what makes you good at using AI
Agents hide everything that was visible back when you built each step yourself. You can still look: read the tool list, click into the calls, ask how it plans to do the thing. What I look at, and what it has been worth.
Jev cut this AI agent's cost by 61%
61% on its best task and 29% on average across eight, measured over 192 runs with deterministic grading and no loss of quality. I used Jev, TypeSafe's new decision model, to pick which skills an agent preloads and to strip the fields it will never read out of every tool response.
Give agents a tool to send you feedback
Agents are the ones using your MCP now, and they hit friction you never see. One extra tool lets them tell you what broke, what they expected, and which model and harness they were running. Here's the shape I use and a real report I got.
I stopped using MCP for most of my work
MCP is great for one-off jobs. For anything I run in volume it's slow, it burns tokens, and it makes my agent retype data it already has. Here's what I use instead: direct API calls in scripts, a skill that documents them, and a proxy so nobody keeps keys on their laptop.
Keep your repos harness agnostic
I use four different AI coding tools in a normal week. Three practices keep my repositories working with all of them, and one problem I still haven't solved.
Small models should decide what big models see
Letting a big model orchestrate smaller ones is now common. I think the bigger win is putting small models around it instead: picking its context, filtering what its tools return, and compressing results while they're still fresh.
Every business app I built needed the same four pages
Four years of internal tools and client portals, and the page structure barely changed: a homepage per user group, the boring utility pages, one entity page per object, and a detail page behind it. What goes on each, and how to decide.
Simple AI efficiency hack for AI chat products
Most AI chat apps either name a conversation once and never again, or rename it after every message. One line of logic in between keeps titles fresh and cuts the cost of the feature by around 75%.
Mastering n8n sub-workflows can make you dangerously good at AI
This looks like an n8n article and it is not one. Cutting a repeated job into steps, giving each step only the context it needs, and picking a model per step are the skills that decide whether anything you build with AI is affordable. n8n is where they are easiest to see.
Most AI agents shouldn't be agents
Over a few months I cut the number of agents in my production workflows by about five. What replaced them: a tiny model routing the request, the steps written out instead of decided at runtime, and the conversation memory loaded and stored by hand. Here is the canvas.
Concrete tips to go from simple RAG to better RAG
The setup every tutorial shows gives you no control over the query, one query per call, and four chunks back whatever you asked. Six changes that fix it, from multi-query to a relevance threshold, with the n8n canvas node by node.

