How Charming works
What Charming is, how an agent builds an app on it, and what every app supports.
What is Charming?
Charming is a runtime that hosts apps your AI writes. You describe what you want, in your own words, to an agent; the agent turns that into working code and sends it to Charming. Charming returns a real, stable URL and runs the app from there: it’s still there tomorrow, next week, and after the chat that built it is closed.
How to build an app on Charming
- You describe what you want. No install, no setup, just tell an agent what the app should do.
- Your agent writes the app as a small program (a manifest and a module, plus optional UI) and calls
create_app(MCP) orPOST /app(HTTP). - Charming returns a stable URL. The app is live immediately; there’s no separate deploy step.
- You iterate from there. Ask the same agent, or a different one later, to change it. It calls
update_app/PUT /app/<id>with the same request body as create, and whatever the app has stored survives the update.
What features do Charming apps support?
- Storage. Every app gets its own key-value storage, plus file storage for images, PDFs, and other assets it reads back. See Data storage.
- Sharing and roles. Apps are private by default: one owner, one dataset, no one else can open it. Invite people in as a collaborator, an end-user, or a read-only viewer. Sign in at charm.ing and open your dashboard to see every app you own or have been given access to. See Privacy and sharing.
- Secrets. A claimed app can call external APIs with a secret; Charming fills the secret in on its servers, and the app’s code never sees the plaintext value. See Secrets.
- Connect to any AI agent. The same MCP tools and HTTP API work from any agent: list your apps, read the current source, call an operation, or ship an update, all against the same app. See Connect to any AI agent.
- Own your source. Export an app’s full source at any time and reuse it anywhere. See Code export.