Introduction to development
Embeddable is code-first: the building blocks of your customer-facing analytics live in your own repository (or separate repos), making them easy to customize, version, and integrate with your existing codebase. In your repo you can define:
- Data models - describe how to query your data, in YAML or JavaScript.
- Components - use Embeddable's ready-made charting components, or build your own in React.
- Dashboards as code - compose data models and components into dashboards, entirely in code.
You can write all three by hand, or prompt an AI agent: Embeddable ships Claude skills for data models, components, and dashboards that turn plain English into valid, reviewable code.
The workflow
All three share the same workflow: develop locally against a live preview, then push to your Embeddable workspace using the SDK's CLI. When you push, the CLI bundles your components with a standard JS bundler (Vite.js (opens in a new tab)) and securely uploads the bundle, your data models, and the metadata from your config files.
Because it's standard bundling, there are no limitations on how you build — use whatever CSS framework, charting library, or design system you prefer. If it can be bundled, it can be sent to Embeddable. If you can dream it, you can build it. 🚀
Embeddable supports building components in React, but you can embed anywhere there is HTML.
Requirements
Embeddable requires Node.js version 20 or later. To update Node.js:
- If you're using a version manager like nvm, run:
nvm install 20 nvm use 20