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.

seoaisaasanalytics

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.

aiautomationplaywrightdeveloper-tools

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.

aicode-reviewdeveloper-toolsproductivity

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.

aisecuritydeveloper-toolsagents

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.

seoaideveloper-toolsgrowth

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.

seosaasgrowthindie-hacking

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.

aillmdevtoolsagents

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.

indie-hackingbuilding-in-publicseoai

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.

seoanalyticsgrowthmarketing

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.

seoindie-hackinggrowthcontent

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.

aiclaudellmdevtools

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.

indie-hackingsaasstartupspayments

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.

nextjsreactjavascriptwebdev

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.

indie-hackingbuilding-in-publicstartupsmakers

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.

seoindie-hackingstartups

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.

indie-hackingbuilding-in-publicstartups

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.

indie-hackingbuilding-in-publicaiseo

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.

aidevtoolsproductivityopen-source

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."

indie-hackingtypescriptjavascriptbuilding-in-public

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.

aidevtoolsproductivity