What is Charming?
Charming, at usecharming.com with docs at charm.ing, hosts web apps your AI writes. Each app gets a key-value store, file storage and per-person sharing, and it works with ChatGPT, Claude, Cursor, Codex and other MCP clients.
Grain / Compare / Grain vs Charming
Comparison
Charming (usecharming.com) is the better choice when you want your AI to make a small app that lives at a link, keeps its data in a built-in store and runs inline inside ChatGPT or Claude. Grain is the better fit when your agent's work should stay as files you can pull, diff and restore, when an app needs Postgres, or when you want the source code: Grain is open source under AGPL-3.0. Both work with any agent, and neither sells model usage.
Both keep what an agent built open after the chat ends. Charming does it with a hosted app runtime. Your AI writes a small web app through Charming's MCP server, HTTP API or CLI, and Charming runs it with a key-value store, file storage, per-person roles and scheduled Routines. Grain does it with a workspace of files. Your agent writes files, Grain publishes them at a URL, and an app can add Postgres, logins and scheduled jobs. Choose Charming for quick single-purpose apps that feel native inside ChatGPT and Claude. Choose Grain when the work should outlive any one host as files, or when you need a SQL database or open source code.
| Dimension | Charming | Grain |
|---|---|---|
| Audience | People who ask ChatGPT, Claude or another AI for a small app for home or work, and teams that want to govern those apps | Developers and small teams whose coding agents build pages, reports and apps that others need to open |
| Job | Host an AI-written app at a link with its own data and per-person sharing | Keep agent-made artifacts at a URL as files, with data, sharing and comments |
| Control | Hosted service; the server is closed and self-hosting is not documented | Open source under AGPL-3.0; you choose the agent |
| Friction | Connect the remote MCP server from your AI tool and ask for an app; no install | Download the Mac app and run grain init, or connect the hosted MCP server from your AI tool |
| Economics | Free tier; Pro $8 a month; Team $14 per seat a month with a three-seat minimum | Free tier with unlimited published artifacts; Grain sells no model usage; Pro is $65 per user per month for more always-on workspaces, team seats and custom domains |
| Dimension | Charming | Grain |
|---|---|---|
| Pricing | Free $0; Pro $8 per month; Team $14 per seat per month, three-seat minimum; Enterprise custom | Free tier; Pro $65 per user per month; Enterprise by contact |
| Free tier | Unlimited apps, 10 saved versions per app, 1 GB storage, 3 Routines per app, 24 hours of activity history; the Charming mark stays | Unlimited published artifacts, ten sleeping sandboxes and one always-on workspace, no card required |
| Bring your own agent | Yes. ChatGPT, Claude, Claude Code, Cursor, Codex, Gemini CLI and others through remote MCP, an HTTP API, a CLI or a Codex plugin | Yes. Claude Code, Codex, Cursor and any MCP client, including Claude and ChatGPT through the hosted MCP server |
| Persistence after the session | Hosted; apps and data stay up with your laptop closed, and claimed apps persist | Published artifacts stay published after the agent session and after a user stops paying |
| Sharing | Private by default; invite people as viewer, end-user or collaborator; a separate read-only public link; no password option documented | Public, password-protected or invite-only links, plus comments that an agent can read and act on |
| Database | Per-app key-value store and file storage; Charming's docs say there is no SQL engine | Apps can use Postgres, logins and scheduled jobs |
| Custom domain | Pro and above, one per app | CNAME custom domains on Pro |
| Export | App source through get_app_source or an HTTP endpoint; bulk data export is not documented on Free or Pro | Artifacts are files: grain pull, grain checkpoint and grain restore |
| Platform | Web; apps install as a phone web app and render inline in ChatGPT, Claude and other MCP Apps clients | Mac app, CLI, and a hosted MCP server that works from any operating system |
| Source code and hosting | CLI, MCP docs and Codex plugin are MIT; the hosting platform is closed; self-hosting not documented | Open source under AGPL-3.0 on GitHub |
get_app_source for each app, or fetch it from the source endpoint. You need owner or collaborator access.grain init in a folder with the exported code, then ask the agent to replace Charming's storage calls with files or the workspace's Postgres database.grain push, grain checkpoint -m "import from Charming" and grain share --public, or --password <pw> for a private link. Saved versions, activity history, roles, Routines and stored secrets do not carry over.grain pull, then ask your AI to rebuild the app on Charming with its key-value store. Postgres tables need reshaping into key-value data, and Grain comments, share links and custom domains do not carry over.Charming, at usecharming.com with docs at charm.ing, hosts web apps your AI writes. Each app gets a key-value store, file storage and per-person sharing, and it works with ChatGPT, Claude, Cursor, Codex and other MCP clients.
Partly. Its CLI, MCP documentation and Codex plugin are MIT on GitHub, but the hosting platform is closed and self-hosting is not documented. Grain is open source under AGPL-3.0.
Each app has a key-value store and file storage. Charming's docs say there is no SQL engine. Grain apps can use Postgres.
You can export an app's source with get_app_source or the source endpoint. Charming documents no bulk data export on Free or Pro, so data comes out through each app's own operations.
Yes, for publishing what an agent builds. Grain keeps the work as files at a URL, adds Postgres, logins and scheduled jobs for apps, and is open source.
Download Grain for Mac, or connect the hosted MCP server from the AI tool you already use.
Download for MacFree forever. No card. Bring your own agent.