Let your users build the features you haven't shipped.
An AI prompt bar for your product. Users describe what's missing and get a working widget, computed from your data.
Ship it in an afternoon, not a sprint
Add one script tag and a publishable key. Register the data you already have, and your users generate widgets, reshapes, and actions over it by prompt.
// one script tag exposes window.Morph
Morph.init({
key: 'pk_live_…', // from the dashboard
sources: { // your data → live widgets
deals: {
fetch: async () => api.deals(),
schema: { amount: 'number', closedAt: 'date' },
description: 'CRM deals (won|lost|open)',
},
},
});
Reshape
Restyle, declutter, rearrange your UI by prompt. Zero config: works with just a key.
Data widgets
Stat boxes & charts over live data, like “lost deals this month”. Computed in-page from a source you register.
Actions
Generated buttons that do things: always user-clicked, always confirm-gated. Never fires on its own.
An LLM that can't run code
The whole security model is one idea, and it's the reason the client is open source.
The model never returns code
It answers only in a fixed, declarative JSON DSL, validated and sanitized in the browser.
HTML is whitelisted, CSS is neutralized, and there's simply no execute op to reach for. That
boundary is the whole security model, which is why the client is open source.
Your data never leaves the page
The model sees only your source names and field types. It emits a query; trusted code runs your fetch in-page and renders the number. Morph's servers never see a record.
Keys are publishable
Like a Stripe pk_ key: safe in page source, bound to your origins, rate-limited
per vendor. It gates cost, not data. There is no data behind it.
Your users are writing your roadmap
Every kept feature is a signal. Morph clusters what your users build, counts who kept it, and ranks it in your dashboard: ship the proven ones natively.
Revealed demand, not survey answers
A widget a user built and kept for three weeks is evidence. Signals rank clusters by kept count, with the users' own words attached.
Zero setup
If Morph Embed is installed, Signals is already collecting. Open the dashboard and read your backlog.
Or just use it yourself: the browser extension
Same engine, no code. Press Alt + M on any website, say how it should look, and it reshapes in place. Saved per site, reapplied on every visit. No account.