Writing
Notes on building software
Honest takes on shipping products, indie hacking, and the realities of the tech industry. No fluff.
AI Referral Traffic Converts Better. That Does Not Mean You Should Chase It Blindly.
Traffic from ChatGPT and Perplexity often converts better than ordinary organic search because the buyer arrives with a recommendation. The volume is still tiny, the attribution is incomplete, and the wrong response is to rebuild your whole growth plan around a flattering little chart.
Stop Letting Browser Agents Improvise Every Click. Use AI to Heal Playwright Instead.
The best browser agent architecture is usually not an agent driving every step. It is a deterministic Playwright workflow that uses AI only when the page changes or the script fails. That keeps normal runs cheap and debuggable while still giving you a way through the web’s inevitable mess.
The AI Pull Request Manifest: The One Page That Makes Agent Code Reviewable
The worst AI pull request is not a bad diff. It is a diff nobody can explain six weeks later. A short manifest, written before the agent starts, turns review from archaeology into a check against a concrete promise. Here is the format and policy I would put in every repository.
Coding Agent Permissions: The Access Ladder I Use Before I Press Approve
Giving a coding agent access to your repository is not one permission. It is a stack of file, shell, browser, network, credential, Git, and production permissions that compound into something much bigger. Here is the access ladder I use to keep agents useful without handing them my whole life.
llms.txt Does Not Get You Cited. Here Is What It Is Actually For.
The most honest answer to "does llms.txt work?" is yes for developer documentation, no for AI-search rankings. I read the crawl data, checked what the answer engines support, and made a list of the work that is worth doing before you ship another text file.
Your SaaS Has 1 Click From Google. Here Is the 90-Day Plan I Would Actually Run.
A new SaaS with a few impressions and no signups does not need another AI writer or a pile of backlinks. It needs to know whether the problem is indexing, intent, authority, or conversion. This is the 90-day plan I would run before spending a euro on another SEO tool.
GPT-6 Astra Review: The Best Agent Anyone Has Shipped, and the First One That Hides Its Work
OpenAI shipped GPT-6 Astra on September 3 at $10 in and $50 out, the same headline price as Claude Fable 5.1. The benchmarks are a real jump, the cache price is four times higher, and the model uses a reasoning technique that makes its chain of thought harder to monitor. Here is the whole picture.
I Built beseen.so Because Every AI Visibility Tool Sells You a Thermometer and Calls It Medicine
Yesterday I wrote that every AI visibility tool tells you a competitor got named and none of them tell you what to change. beseen.so is what I built about it: it finds the prompts where assistants name someone else, writes the actual page rewrite, and re-checks whether the answer moved.
68% of Google Searches Now End Without a Click. Your Analytics Cannot See What You Lost.
Zero-click searches hit 68.01% in early 2026, up from 60.45% in 2024. The harder problem is that the traffic you are losing to AI answers is invisible in Google Analytics by design. Here is how to actually measure whether assistants are naming you, and what it costs.
Programmatic SEO in 2026: What Google Killed in March, and What Still Prints Traffic
Google stripped 50 to 80 percent of traffic from low-value programmatic sites in March. Meanwhile Zapier still pulls 16 million monthly visits from 50,000 integration pages. Here is the difference between the two, and how to build the second kind without tripping the scaled content abuse policy.
Claude Fable 5.1 Review: The Benchmarks Went Up, but the Cache Price Cut Is the Real Release
Anthropic shipped Claude Fable 5.1 and Mythos 5.1 on September 1 at the same $10 in, $50 out price as Fable 5, then cut cache reads by 75%. Here are the benchmarks that moved, what the pricing change actually does to an agentic bill, and whether it is worth switching.
Merchant of Record in 2026: Stripe, Paddle, Polar, and the Lemon Squeezy Question Nobody Wants to Answer
Polar raised its rates 25% this year. Lemon Squeezy is quietly being folded into Stripe. Paddle still charges 5%. Here is the actual merchant of record math for a solo founder in 2026, and the honest answer about when paying that tax is worth it.
Next.js 16.3 Instant Navigations: The Release That Finally Fixes the Thing Everyone Complained About
Server Components made Next.js apps fast to render and slow to click through. Next.js 16.3 fixes that with Instant Navigations, Partial Prefetching, and a client-side cache built on the use cache directive. Here is what actually changed, what it costs you to adopt, and whether you should turn the flags on today.
justship.now Is My New Front Door: Why a Curated Tools Directory Beat Out Another SaaS
I just moved justship.now into the number one project slot on my own portfolio, ahead of makers.page. Here is what it actually is, why a curated directory of 300+ tools earned that spot, and why I think curation beats crowdsourcing for this specific job.
Startup Directory Submissions in 2026: What Actually Moves the Needle for SEO
Every "submit your startup" listicle promises hundreds of free backlinks. Most of that advice is a decade out of date. Here is what actually happens to your domain authority when you submit to directories in 2026, and which ones are worth your afternoon.
Everyone’s Making Leaderboards Now: Inside outbid.lol’s Wild Week, and Why I Built ownthe.day Differently
outbid.lol made six figures in under 48 hours and spawned a dozen clones overnight. I break down how the pay-to-rank leaderboard trend actually works, why it exploded, and why I built ownthe.day on a different mechanic on purpose.
I Built roastme.gg, a Site Where You Pay to Get Publicly Roasted by AI
I shipped a site where you pay to get publicly roasted by AI, ranked on a wall by how much it hurt your wallet. Then I ran it through ChatGPT live search to see if it actually shows up for anyone who is not already looking for it by name.
mybutler: A Local-First AI Assistant That Remembers Without a Cloud Account
I had a hundred open chats across ChatGPT and Claude and no idea what was in half of them. So I built mybutler, a menu bar app that answers privately through a local Ollama model and remembers what matters outside of any single chat.
I Just Shipped My First Chrome Extension (And It Was Harder Than the Code)
What building and publishing XPilot taught me about Manifest V3, OAuth, and the gap between "it works on my machine" and "it works in the Chrome Web Store."
Claude Fable 5 Is Here: Mythos-Class Power for Everyone, and Whether It's Worth 2x the Price
Anthropic shipped Claude Fable 5 yesterday, the first Mythos-class model cleared for general use. It posts 80.3% on SWE-Bench Pro, costs double Opus 4.8, and ships with a sibling, Mythos 5, that has the guardrails off. Here is what actually changed and whether you should switch.