Frameworks
The frameworks I build AI features on — the Vercel AI stack from the model layer up to full agent apps.
The code-level building blocks for shipping AI. These are the layers I reach for, and they stack cleanly: a model/data toolkit at the bottom, chat UI on top of it, a multi-platform bot framework above that, and a full agent framework that ties it all together. All four are open source and maintained by Vercel.
The stack at a glance
AI SDK
The TypeScript toolkit for LLM apps — the model and data layer everything else builds on.
AI Elements
Chat UI primitives built for the AI SDK — the frontend of a conversation.
Chat SDK
One codebase, many messaging platforms — Slack, Discord, Teams, WhatsApp and more.
EVE
“Next.js for agents” — a full framework for durable, production agent apps.
AI SDK
The foundation. A typed, streaming-first TypeScript toolkit for building with LLMs:
generateText and streamText for output, first-class tool calling, structured output
(schema-validated JSON), embeddings, and agent loops. On the client, useChat and
useCompletion wire a React UI to a streaming endpoint in a few lines. It's
provider-agnostic — swap models with a "provider/model" string through the Vercel AI
Gateway — and it's already part of this repo's stack, which is why it's my default for
any AI feature.
AI Elements
The chat surface for the AI SDK. A set of shadcn-style, copy-in React primitives —
Conversation, Message, tool-call and reasoning displays, PromptInput, sources —
designed to consume the AI SDK's streaming data directly, so the data and the UI line
up without glue code. It's also part of this library's component set (see the
Chat components in the UI Kit). My default whenever a
product needs a chat or assistant surface.
Chat SDK
When the interface isn't a web page but a messaging platform. Chat SDK is an open-source TypeScript framework for building chatbots and agents that run across Slack, Microsoft Teams, Discord, Telegram, WhatsApp, Google Chat and 15+ others — from a single codebase. It's event-driven (react to mentions, replies and reactions), strongly typed across its adapters, and supports rich interactivity: cards, modals, slash commands and emoji reactions. It plugs into the same ecosystem — AI SDK for the agent, the AI Gateway for models, Sandbox for filesystem access, and Workflows for durable, persistent chat agents.
EVE
The top of the stack: a framework for building AI agents the way Next.js is a
framework for building apps. An agent starts as a single instructions.md file and
grows by adding optional pieces — skills, tools, channels, connections, subagents and
scheduled tasks. It wraps an existing Next.js app with withEve(), deploys one codebase
across web chat, Slack, Discord and Teams, and ships production concerns out of the box:
durable execution with checkpoint recovery, sandboxed compute isolation,
human-in-the-loop approval gates, and evaluation testing. Because it's built on
open-source SDKs (Workflow SDK, AI SDK, Chat SDK), it can be fully self-hosted with no
managed-infrastructure lock-in.
→ eve.dev
How they fit together: AI SDK talks to the models, AI Elements renders the conversation, Chat SDK carries it onto messaging platforms, and EVE wraps the lot into a durable, multi-channel agent. Start at the layer your project actually needs — most features only need the bottom two.