Post

πŸš€ Introducing aibind β€” AI SDK bindings for every JS framework ⚑ Reactive streaming 🌿 Branching chat history πŸ€– Agents & tool calling πŸ”„ Model switching & racing πŸ“ Streaming markdown πŸ’Ύ Durable streams SvelteKit Β· Next.js Β· Nuxt Β· SolidStart Β· TanStack Β· React Router

3 reposts11 likes

Why does this exist? Every time I built an AI feature, I was writing the same plumbing: - wire up the stream - parse chunks into state - handle errors mid-response - manage conversation history - figure out markdown rendering None of that is the actual product. aibind handles all of it.

Streaming in your framework should feel native. In Svelte: stream.text is a reactive $state In Vue: stream.text is a ref In React: it's just a hook Same API everywhere. No adapters, no wrappers, no fighting the runtime.

Chat history is deceptively hard. Edit a past message? That's a branch. Regenerate? Another branch. aibind ships a full message tree β€” edit anywhere, branch anywhere, navigate back and forward. Like git, but for conversations.

You don't want your most expensive model answering "what's 2+2". aibind lets you define named models and route automatically: routeModel: (prompt) => { if (prompt.length < 200) return "fast" if (/explain|analyze/.test(prompt)) return "reason" return "smart" }