Technology

Vendo: An Open-Source Layer That Lets SaaS Users Build Their Own Apps With AI

Martin HollowayPublished 7d ago5 min readBased on 9 sources
Reading level
Vendo: An Open-Source Layer That Lets SaaS Users Build Their Own Apps With AI
source:github.com

Vendo, part of Y Combinator's Summer 2026 batch, publicly launched on August 20, 2026, via a Hacker News "Launch HN" post. Founded by Yousef and Nour, the project is an open-source customization layer for B2B SaaS products. It lets end users build their own features and mini-apps on top of the software they already use, without the host product's source code being touched. The codebase lives at github.com/runvendo/vendo, is licensed under Apache-2.0, and ships as the npm package @vendoai/vendo. Installation is a two-step process: npm install @vendoai/vendo followed by npx vendo init.

The npx vendo init command reads a product's API surface, theme, and routes so that generated apps look on-brand and native. They can read data and perform actions through the company's API. Vendo runs a streaming agent (an AI that generates responses piece by piece rather than all at once) built on any AI SDK LanguageModel, and the init harness is designed to be executed by coding agents such as Claude Code, Cursor, GitHub Copilot, OpenAI Codex, and Windsurf.

What makes Vendo architecturally distinct from typical "AI in your app" integrations is its execution model. Vendo acts as an embedded agent that operates through a product's own API as the signed-in user, rendering the UI it generates in a sandboxed, brand-native surface. The sandbox is a QuickJS VM — a lightweight JavaScript runtime — with no access to the DOM (the browser's document structure), network, or clock. Vendo uses a custom harness that writes a React component with Vendo-specific add-ons and guardrails. Every save is compiled, type-checked, run against real API responses, and rendered before the user sees anything. The sandbox VM returns a UI tree that the host renders using the product's registered components; user clicks emit tool calls that the host executes through Vendo's guard layer, passing results back into the same VM while preserving local screen state. This is not a chat-embedded code snippet. Vendo generates durable apps that users keep, pin, and run on triggers.

The project also exposes a product over MCP (Model Context Protocol), allowing Claude, ChatGPT, Cursor, and Claude Code to act as the signed-in user. In practical terms, this means a user can interact with a SaaS product through their preferred AI client, and Vendo mediates the session with the same guardrails it applies to its in-product agent.

Vendo's customers use it across a range of scenarios: creating custom dashboards and reports, building recurring automations with external connections such as Slack alerts triggered by product events, customizing products with additional business logic like extra form fields or permissions, and creating, sharing, reusing, and forking custom apps across an organization. The project has published a benchmark and write-up on generating product UI at vendo.run/blog/generating-product-ui-measured. Documentation is hosted at docs.vendo.run, and the GitHub organization "runvendo" currently lists 22 repositories.

The project is not without rough edges. GitHub issue #478, filed on July 21, 2026, reports that AI SDK v7 breaks Vendo's internal agent loop, indicating active dependency churn as the underlying AI SDK ecosystem continues to evolve rapidly.

The broader context here is that SaaS extensibility has been a hard problem for years. Platforms have tried plugin marketplaces, low-code builders, and customer-facing scripting, each with trade-offs around security, maintainability, and the ceiling of what non-developers can produce. Vendo's bet is that a large language model that generates, compiles, type-checks, and sandboxes React components in a QuickJS VM can collapse the distance between "I need a custom view" and "I have a working app pinned to my dashboard." The QuickJS sandbox is the critical design choice: by giving the generated code no DOM, network, or clock access, Vendo confines the blast radius of whatever the model produces. The host product mediates every tool call and every data fetch through its own guard layer. That is a meaningfully different threat model from approaches that let an agent write and execute code in a less constrained runtime.

In this author's view, the durability aspect is what separates Vendo from the current wave of agent-generated UI experiments. Most AI-generated interfaces live and die inside a chat session. Vendo's apps persist, can be pinned, triggered, and forked across teams. If the approach holds up under real-world load and the guardrail model proves robust against adversarial prompting, the pattern of an agent generating a durable, sandboxed micro-app inside a host product could become a standard extensibility primitive for B2B SaaS. The unresolved question is whether the quality of generated apps scales from dashboards and form extensions to genuinely complex multi-step workflows, and whether the QuickJS sandbox holds when generated code is running on triggers across a large organization. The project is early, the AI SDK v7 breakage is a reminder of how quickly the substrate beneath these systems can shift, and the benchmark write-up suggests the team is aware that UI generation quality is measurable rather than something to assert.