[ Blog ]
Production notes from building Shipwright — the parts of a Claude-powered app that boilerplates skip.
A streaming LLM route in the Next.js App Router keeps generating tokens after the user closes the tab — and you pay for all of them. Here's the fix.