Blog

Dispatches from the browser-agent frontier.

Architectural deep-dives, comparisons, and patterns we keep coming back to. Subscribe via RSS.

narrative

Why we built Linda: forms aren't the bottleneck, agents are

We started with a server-side conversational form filler. We ripped it all out and rebuilt as a browser-first agent SDK. The pivot, the bet, and where AI actually lives on the web.

8 min read
  • product
  • story
  • agents
  • browser
cornerstone

The agent VFS pattern: give the LLM a workspace, not a prompt

Why putting everything in the system prompt is the wrong abstraction for modern agents, and how a virtual filesystem solves the problems prompt-stuffing creates. Architectural deep-dive.

11 min read
  • architecture
  • vfs
  • agents
  • prompt-engineering
supporting

Browser-side PDF Q&A without uploading the file

Why we stopped uploading PDFs to servers for AI processing, what the privacy story looks like when files stay in the browser, and how Linda's parsers do it in 1 KB of glue + lazy WASM.

7 min read
  • privacy
  • parsers
  • pdf
  • browser
supporting

Multi-agent handoffs: rescuing a stalled checkout

How to build a save-the-sale agent that swaps personas mid-flow on exit intent. The patterns, the triggers, the anti-patterns. Worked example with code.

9 min read
  • multi-agent
  • checkout
  • triggers
  • patterns
narrative

Linda vs CopilotKit vs Stagehand — picking your in-browser agent stack

An honest decision matrix for three popular in-browser AI agent libraries. Different problems, different trade-offs, different bets — and what to pick by use case.

9 min read
  • comparison
  • copilotkit
  • stagehand
  • decision-matrix
technical

Building a Chrome extension with per-origin AI agents

One Manifest V3 extension, a different Linda agent on every SaaS — Zendesk, Salesforce, HubSpot, GitHub. The scaffold, the patterns, what passes Chrome Web Store review, and what doesn't.

7 min read
  • extension
  • chrome
  • manifest-v3
  • patterns
technical

Streaming Claude responses over a 1 KB Node proxy

Why we ship @linda/server — a minimal SSE proxy that hides your API key without becoming a backend. The streaming-from-zero pattern, the trade-offs, and when it's actually necessary.

6 min read
  • streaming
  • proxy
  • server
  • sse
technical

Turning your page into an MCP server for Claude Desktop

Expose your live browser tab as a Model Context Protocol server so Claude Desktop, Cursor, or Continue can read it directly. The pattern, the code, and the surprisingly useful workflows it unlocks.

7 min read
  • mcp
  • claude-desktop
  • interop
  • patterns
technical

Shadow DOM, agent chat, and not fighting your CSS

Why Linda renders the chat UI into a Shadow DOM, how it stays style-isolated against arbitrary host CSS, and the surprising number of edge cases that this design solves for free.

6 min read
  • shadow-dom
  • css
  • ui
  • architecture

Ship an agent-driven flow this afternoon.

Install Linda, paste a config, and your form turns into an agent that fills its own inputs.