Morpha UI

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 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-sdk.dev

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.

elements.ai-sdk.dev

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.

chat-sdk.dev

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.

On this page