Grain / Compare / Grain vs Charming

Comparison

Grain vs Charming

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.

Updated 2026-09-29Facts verified 2026-09-29By the Grain team

Quick answer

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.

Fit first

DimensionCharmingGrain
AudiencePeople who ask ChatGPT, Claude or another AI for a small app for home or work, and teams that want to govern those appsDevelopers and small teams whose coding agents build pages, reports and apps that others need to open
JobHost an AI-written app at a link with its own data and per-person sharingKeep agent-made artifacts at a URL as files, with data, sharing and comments
ControlHosted service; the server is closed and self-hosting is not documentedOpen source under AGPL-3.0; you choose the agent
FrictionConnect the remote MCP server from your AI tool and ask for an app; no installDownload the Mac app and run grain init, or connect the hosted MCP server from your AI tool
EconomicsFree tier; Pro $8 a month; Team $14 per seat a month with a three-seat minimumFree 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

What is different, verifiably

Charming facts from its own site, docs and GitHub, checked on 2026-09-29.
DimensionCharmingGrain
PricingFree $0; Pro $8 per month; Team $14 per seat per month, three-seat minimum; Enterprise customFree tier; Pro $65 per user per month; Enterprise by contact
Free tierUnlimited apps, 10 saved versions per app, 1 GB storage, 3 Routines per app, 24 hours of activity history; the Charming mark staysUnlimited published artifacts, ten sleeping sandboxes and one always-on workspace, no card required
Bring your own agentYes. ChatGPT, Claude, Claude Code, Cursor, Codex, Gemini CLI and others through remote MCP, an HTTP API, a CLI or a Codex pluginYes. Claude Code, Codex, Cursor and any MCP client, including Claude and ChatGPT through the hosted MCP server
Persistence after the sessionHosted; apps and data stay up with your laptop closed, and claimed apps persistPublished artifacts stay published after the agent session and after a user stops paying
SharingPrivate by default; invite people as viewer, end-user or collaborator; a separate read-only public link; no password option documentedPublic, password-protected or invite-only links, plus comments that an agent can read and act on
DatabasePer-app key-value store and file storage; Charming's docs say there is no SQL engineApps can use Postgres, logins and scheduled jobs
Custom domainPro and above, one per appCNAME custom domains on Pro
ExportApp source through get_app_source or an HTTP endpoint; bulk data export is not documented on Free or ProArtifacts are files: grain pull, grain checkpoint and grain restore
PlatformWeb; apps install as a phone web app and render inline in ChatGPT, Claude and other MCP Apps clientsMac app, CLI, and a hosted MCP server that works from any operating system
Source code and hostingCLI, MCP docs and Codex plugin are MIT; the hosting platform is closed; self-hosting not documentedOpen source under AGPL-3.0 on GitHub

Where Charming is better

  • Nothing to install. You connect Charming's remote MCP server in ChatGPT or Claude and ask for an app, and the app can render inline in that chat.
  • The AI can call a running app's operations as tools, so the same assistant that built a tracker can read from it and write to it later.
  • Per-person roles on each app. A viewer reads, an end-user can write data, and a collaborator can change the code, all enforced on the server.
  • Secrets stay out of the code. The owner stores an API key once, and Charming keeps it away from app code and the model.
  • Lower entry price. Pro is $8 a month, and Team is $14 per seat with a three-seat minimum.

Where Grain is better

  • The work stays as files. You pull, checkpoint and restore every artifact with the CLI, instead of reading data back through each app's own operations.
  • Postgres behind the URL. An app that outgrows a key-value store can use SQL tables, logins and scheduled jobs.
  • The source is open under AGPL-3.0 on GitHub, so you can read how artifacts are stored and shared.
  • Static pages publish the same way as apps. A write-up, a PR walkthrough and a dashboard each get a URL.
  • Links can require a password, and the agent can read reader comments and act on them.

Moving between them

  1. From Charming to Grain: ask your agent to call get_app_source for each app, or fetch it from the source endpoint. You need owner or collaborator access.
  2. Export the data through the app's own operations. Charming documents no bulk data export on Free or Pro, and template copies leave data and secrets behind.
  3. Run 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.
  4. Run 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.
  5. From Grain to Charming: run 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.

Choice rule

Choose Charming
if you want a small app with built-in storage and per-person roles, made and used inside ChatGPT or Claude, with nothing to install.
Choose Grain
if your coding agent's work should stay as files you control, an app needs Postgres, or you want open source code.
Use both
if quick personal tools live on Charming and the team's reports, dashboards and larger apps live in Grain.

Frequently asked questions

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.

Is Charming open source?

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.

Does Charming have a database?

Each app has a key-value store and file storage. Charming's docs say there is no SQL engine. Grain apps can use Postgres.

Can I export my Charming apps?

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.

Is Grain a Charming alternative?

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.

Keep your work in files, with any agent

Download Grain for Mac, or connect the hosted MCP server from the AI tool you already use.

Download for Mac

Free forever. No card. Bring your own agent.

Sources · facts verified 2026-09-29