Writing
Notes on applied AI — LLM pipelines, agents, and what it actually takes to ship them.
- Local RAG without the cloud: sqlite-vec, Transformers.js, and one MCP server
Most setups for giving an AI your own data quietly ship it to two cloud vendors. I built one that does the whole job on your own machine. Here's how it works in plain language, and the one idea that decides whether it's any good.
- Most 'multi-agent' AI systems aren't multi-agent
Most products marketing themselves as 'multi-agent' are really just an assembly line with one AI doing a job inside it. Here's the difference in plain terms, why the label gets oversold, and why my own AI tool is the boring kind on purpose.
- Why my portfolio runs on raw Three.js, not react-three-fiber
There's a popular shortcut for building 3D on the web. For this site I skipped it and wrote the graphics by hand. Here's the plain-language case for and against, and why 'the boring default' was the wrong call just this once.
- The customer approval workflow most Shopify wholesale apps get wrong
Every Shopify wholesale app has a customer approval feature. Almost none have a good one. Here are the six things merchants actually need that most apps skip, with receipts from the real reviews.
- I read every 1-star review of the top Shopify wholesale apps
I built a scraper that read every 1- and 2-star review of the biggest Shopify wholesale apps, plus the wholesale threads on Reddit and the Shopify forums. After 100+ angry posts, the same six stories kept showing up.
- Why AI coding agents need persistent memory
An AI coding assistant starts every conversation from zero. That, not raw intelligence, is what most often makes it feel junior. Here's why, and how I gave one a memory that survives between sessions.