<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Tap Blog</title>
<link>https://taprun.dev/blog/</link>
<description>Engineering insights on browser automation, AI agents, and deterministic programs.</description>
<language>en-us</language>
<atom:link href="https://taprun.dev/blog/feed.xml" rel="self" type="application/rss+xml"/>
<lastBuildDate>Wed, 13 May 2026 00:00:00 +0000</lastBuildDate>

<item>
<title>Playwright MCP vs Tap vs Browserbase: A Token-Cost Head-to-Head</title>
<link>https://taprun.dev/blog/playwright-mcp-vs-tap.html</link>
<description>Three credible MCP servers ship a browser to your agent: Microsoft's Playwright MCP, Browserbase + Stagehand, and Tap. They look like substitutes; they're three different products answering three different questions. Side-by-side on tokens, auth model, drift handling, and trust boundary — with the 849×-to-10,000× amortization math from the HN-top-30 experiment, and honest acknowledgement of where each tool wins.</description>
<pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate>
<guid>https://taprun.dev/blog/playwright-mcp-vs-tap.html</guid>
</item>

<item>
<title>Building Hit Zero. Distribution Didn't.</title>
<link>https://taprun.dev/blog/building-hit-zero-distribution-didnt.html</link>
<description>AI agents compressed solo site-building from a month to a weekend. They did not compress distribution. Three popular AdSense-revival claims, three Reddit counter-examples from real operators. Costly Signaling Law explains why "I shipped a tool" stopped carrying information, and what's left to compete on.</description>
<pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate>
<guid>https://taprun.dev/blog/building-hit-zero-distribution-didnt.html</guid>
</item>

<item>
<title>Compile-time AI is safe. Runtime AI deleted a production database.</title>
<link>https://taprun.dev/blog/compile-time-ai-not-runtime-ai.html</link>
<description>An AI agent dropped a production database this week and the HN thread hit 600+ points. The fix isn't a better prompt or a stricter system message — it's deciding where in the lifecycle the AI is allowed to think. Compile-time AI produces a program a human can review before it runs. Runtime AI produces an action the system already executed.</description>
<pubDate>Mon, 27 Apr 2026 00:00:00 +0000</pubDate>
<guid>https://taprun.dev/blog/compile-time-ai-not-runtime-ai.html</guid>
</item>

<item>
<title>Install Tap MCP in Claude Code, Cursor, Cline, Windsurf, or VS Code — 60 Seconds Each</title>
<link>https://taprun.dev/blog/install-tap-in-any-mcp-host.html</link>
<description>Tap is an MCP server for authenticated browser automation — it runs in your own Chrome on your real logged-in sessions. Here's how to connect it to every major MCP host, with the exact config paths each one uses under the hood.</description>
<pubDate>Wed, 22 Apr 2026 00:00:00 +0000</pubDate>
<guid>https://taprun.dev/blog/install-tap-in-any-mcp-host.html</guid>
</item>

<item>
<title>The Authenticated Browser MCP: Why Cloud Tools Can't See Your Logged-In State</title>
<link>https://taprun.dev/blog/authenticated-browser-mcp.html</link>
<description>Playwright MCP, BrowserBase MCP, and Firecrawl MCP all operate on fresh or anonymous browsers. None of them can touch your logged-in Shopify, HubSpot, or Gmail. Here's why that gap is architectural — and why it matters for anyone building real AI agents.</description>
<pubDate>Wed, 22 Apr 2026 00:00:00 +0000</pubDate>
<guid>https://taprun.dev/blog/authenticated-browser-mcp.html</guid>
</item>

<item>
<title>We Ran 15,000 Browser Automations. The Failure That Matters Most Is Invisible to Your Monitoring.</title>
<link>https://taprun.dev/blog/what-actually-breaks-15000-automations.html</link>
<description>15,455 real executions across GitHub, Reddit, YouTube, Bilibili, Xiaohongshu, and more. YouTube silently returns 0 rows on 50% of "successful" runs. The dominant failure mode isn't "element not found" — it's a property on a returned object that stopped existing. Here's the reliability table nobody publishes, and why your monitoring misses what matters.</description>
<pubDate>Mon, 20 Apr 2026 00:00:00 +0000</pubDate>
<guid>https://taprun.dev/blog/what-actually-breaks-15000-automations.html</guid>
</item>

<item>
<title>rtrvr.ai vs Taprun: Cheaper LLM-at-Runtime Still Isn't Zero Tokens</title>
<link>https://taprun.dev/blog/rtrvr-vs-tap.html</link>
<description>rtrvr.ai made LLM-at-runtime 25× cheaper than vision-based agents — real engineering, 26K tokens per task instead of 114K. But Taprun moves the LLM to authoring time and runs at $0 per execution. Here's the architectural line every browser-agent tool has to pick a side of, where rtrvr is genuinely strong, and where the per-run-token ceiling eventually breaks the model.</description>
<pubDate>Sun, 19 Apr 2026 00:00:00 +0000</pubDate>
<guid>https://taprun.dev/blog/rtrvr-vs-tap.html</guid>
</item>

<item>
<title>How We Turned Tap's Engine Into a 0.8 ms Library (and Measured a 294× Speedup)</title>
<link>https://taprun.dev/blog/taprun-executor-0-8-ms-library.html</link>
<description>Tap spent three months as a compiled binary that every embedding product had to shell out to. We extracted the composition engine into @taprun/executor — a Deno-first, zero-dep, 65KB package that runs pipes in-process. Measured against the old subprocess path on the same pipeline: 0.8ms vs 233.7ms. 294x faster, zero semantic change, full backwards compatibility.</description>
<pubDate>Sat, 11 Apr 2026 00:00:00 +0000</pubDate>
<guid>https://taprun.dev/blog/taprun-executor-0-8-ms-library.html</guid>
</item>

<item>
<title>How Reddit Demand Kit Turned a $0.15 LLM Call Into a $0 Compiled Pipe</title>
<link>https://taprun.dev/blog/rdk-compiled-pipes-from-llm-prompts.html</link>
<description>Reddit Demand Kit's market_scan tool burns 26,000 LLM tokens every time a user runs it — $0.15 per call, $135/month for a heavy user. We compiled the prompt into a deterministic JavaScript pipeline that produces the same structured output with zero LLM tokens per run. Break-even: 0.46 of a single invocation. Here's how we did it with Tap's new composition DSL, and why every LLM-wrapping product should steal this pattern.</description>
<pubDate>Sat, 11 Apr 2026 00:00:00 +0000</pubDate>
<guid>https://taprun.dev/blog/rdk-compiled-pipes-from-llm-prompts.html</guid>
</item>

<item>
<title>Composable Taps Are Just JavaScript: Why Tap's Pipeline DSL Doesn't Need YAML</title>
<link>https://taprun.dev/blog/composable-taps-are-just-javascript.html</link>
<description>GitHub Actions, Kubernetes, CircleCI, Airflow, n8n — every pipeline system in 2026 is YAML. When we designed Tap's composition DSL, the convention was obvious. We picked JavaScript instead, and it's strictly better: diff-friendly, AI-generatable, type-checked, debuggable. A full breakdown with real before/after code from migrating bounty/match to the new tap.pipe() executor.</description>
<pubDate>Sat, 11 Apr 2026 00:00:00 +0000</pubDate>
<guid>https://taprun.dev/blog/composable-taps-are-just-javascript.html</guid>
</item>

<item>
<title>40 Commits to Ship a Chrome MV3 Extension: A Git Log Retrospective</title>
<link>https://taprun.dev/blog/building-mv3-extension-git-log-retrospective.html</link>
<description>Building Tap's Chrome extension took three months and forty-ish commits fighting Chrome MV3. A category-by-category tour: service worker termination, chrome.alarms' silent 1-minute floor, the 25-second timeout cap, chrome.storage.session as the only durable state, the CDP debugger-attached tax, the unsafe-eval ban, and tab stealing across concurrent sessions.</description>
<pubDate>Sat, 11 Apr 2026 00:00:00 +0000</pubDate>
<guid>https://taprun.dev/blog/building-mv3-extension-git-log-retrospective.html</guid>
</item>

<item>
<title>The Free SEO Stack for a New Dev Tool Site: GSC + Bing WMT + Ahrefs Webmaster Tools</title>
<link>https://taprun.dev/blog/free-seo-stack-gsc-bing-ahrefs.html</link>
<description>Ahrefs and SEMrush cost $99+/month, but a 10-day-old site won't meaningfully benefit from them for 3-6 months. Here's the free stack that covers the same data you actually need at this stage: Google Search Console, Bing Webmaster Tools, Ahrefs Webmaster Tools (Free), and IndexNow — plus the Cloudflare cache gotcha and how to fix it.</description>
<pubDate>Sat, 11 Apr 2026 00:00:00 +0000</pubDate>
<guid>https://taprun.dev/blog/free-seo-stack-gsc-bing-ahrefs.html</guid>
</item>

<item>
<title>Debugging Chrome MV3's "Many Empty Tabs" Bug: A chrome.storage.session Post-Mortem</title>
<link>https://taprun.dev/blog/mv3-orphan-tabs-fix.html</link>
<description>A user reported 9 empty chrome://newtab/ tabs accumulating overnight from Tap's extension. Three wrong fixes later (about:blank, self-scripting own extension pages, unsafe-eval offscreen eval), I finally read the Chromium docs properly. MV3 has four hard rules that none of my first three attempts respected.</description>
<pubDate>Sat, 11 Apr 2026 00:00:00 +0000</pubDate>
<guid>https://taprun.dev/blog/mv3-orphan-tabs-fix.html</guid>
</item>

<item>
<title>Stagehand vs Tap: AI Browser Automation Compared</title>
<link>https://taprun.dev/blog/stagehand-vs-tap.html</link>
<description>Stagehand calls the LLM on every step — same cost per run, same reliability floor as Browser Use. Tap compiles AI understanding into deterministic programs that run forever at $0.</description>
<pubDate>Wed, 09 Apr 2026 00:00:00 +0000</pubDate>
<guid>https://taprun.dev/blog/stagehand-vs-tap.html</guid>
</item>

<item>
<title>Deterministic vs AI Browser Automation: Why Programs Beat Prompts</title>
<link>https://taprun.dev/blog/deterministic-vs-ai-browser-automation.html</link>
<description>AI browser automation is non-deterministic — same task, different results every run. Deterministic programs compile AI understanding once, then run forever with 100% consistency.</description>
<pubDate>Wed, 09 Apr 2026 00:00:00 +0000</pubDate>
<guid>https://taprun.dev/blog/deterministic-vs-ai-browser-automation.html</guid>
</item>

<item>
<title>Browser Use Alternative: Free, Deterministic, No Tokens Per Run</title>
<link>https://taprun.dev/blog/browser-use-alternative-free.html</link>
<description>Browser Use costs $0.50–$2.00 per run. Tap compiles AI understanding into a deterministic program that runs forever at $0. Same browser, zero tokens at runtime.</description>
<pubDate>Wed, 09 Apr 2026 00:00:00 +0000</pubDate>
<guid>https://taprun.dev/blog/browser-use-alternative-free.html</guid>
</item>

<item>
<title>How Do Companies Keep Scrapers Reliable? I Asked the Internet.</title>
<link>https://taprun.dev/blog/how-companies-keep-scrapers-reliable.html</link>
<description>A r/webscraping thread asked the question. Six independent builders converged on the same five principles.</description>
<pubDate>Mon, 07 Apr 2026 00:00:00 +0000</pubDate>
<guid>https://taprun.dev/blog/how-companies-keep-scrapers-reliable.html</guid>
</item>

<item>
<title>Search arXiv in One Command — No API Key, No Tokens</title>
<link>https://taprun.dev/blog/search-arxiv-one-command.html</link>
<description>Search, sort, and display arXiv papers as a Unix pipeline. Zero install. Zero tokens.</description>
<pubDate>Mon, 07 Apr 2026 00:00:00 +0000</pubDate>
<guid>https://taprun.dev/blog/search-arxiv-one-command.html</guid>
</item>

<item>
<title>16 Comments, 6 Insights: Using HN and Reddit as a Positioning Lab</title>
<link>https://taprun.dev/blog/comments-as-ab-tests.html</link>
<description>Community comments are the cheapest A/B test for product positioning. 16 comments across HN and Reddit validated 6 content principles.</description>
<pubDate>Sun, 06 Apr 2026 00:00:00 +0000</pubDate>
<guid>https://taprun.dev/blog/comments-as-ab-tests.html</guid>
</item>

<item>
<title>Programs Beat Prompts: Why AI Should Write Code, Not Run It</title>
<link>https://taprun.dev/blog/programs-beat-prompts.html</link>
<description>AI browser agents burn tokens every run. The better model: AI writes a deterministic program once, then it runs forever at zero cost.</description>
<pubDate>Sun, 06 Apr 2026 00:00:00 +0000</pubDate>
<guid>https://taprun.dev/blog/programs-beat-prompts.html</guid>
</item>

<item>
<title>Your AI Browser Agent Costs $3,600/month. Here's How to Make It $0.</title>
<link>https://taprun.dev/blog/ai-browser-agent-costs-3600.html</link>
<description>Browser-use users burn tokens on every run. The compiler model: AI writes a program once, runs forever at zero cost.</description>
<pubDate>Sat, 05 Apr 2026 00:00:00 +0000</pubDate>
<guid>https://taprun.dev/blog/ai-browser-agent-costs-3600.html</guid>
</item>

<item>
<title>Websites Change. Your Automation Shouldn't Stop.</title>
<link>https://taprun.dev/blog/websites-change-automation-shouldnt-stop.html</link>
<description>The self-healing loop: watch for data changes, detect breakage via health contracts, auto-heal with one AI call, continue at $0.</description>
<pubDate>Fri, 04 Apr 2026 00:00:00 +0000</pubDate>
<guid>https://taprun.dev/blog/websites-change-automation-shouldnt-stop.html</guid>
</item>

<item>
<title>Your Automation Costs $1 Per Run. Mine Costs $0.</title>
<link>https://taprun.dev/blog/automation-costs-one-dollar.html</link>
<description>AI browser agents burn tokens every run. Deterministic programs run forever at zero cost. Here's the math.</description>
<pubDate>Fri, 04 Apr 2026 00:00:00 +0000</pubDate>
<guid>https://taprun.dev/blog/automation-costs-one-dollar.html</guid>
</item>

<item>
<title>Your Scraper Is Broken Right Now. You Just Don't Know It Yet.</title>
<link>https://taprun.dev/blog/your-scraper-is-broken.html</link>
<description>Most scrapers fail silently — returning empty arrays for days before anyone notices. Health contracts + deterministic programs fix this.</description>
<pubDate>Fri, 04 Apr 2026 00:00:00 +0000</pubDate>
<guid>https://taprun.dev/blog/your-scraper-is-broken.html</guid>
</item>

</channel>
</rss>
