ChatGPT Sites: Build + Host a Real Internal App From One Conversation
it's the concrete version of the "ChatGPT Sites" feature I keep hearing about in the Codex-vs-Claude videos — straight from OpenAI's own docs. It ships the thing Claude Artifacts don't: hosting + access control + storage + a database. For CKA that means internal dashboards and trackers deployed in minutes; for my agent-OS thesis it's a clean "describe → deploy" primitive a Hermes cron can keep fresh.
Read the source — OpenAI AcademyTL;DR
ChatGPT Sites lets you describe an internal site or lightweight app in the Codex desktop app, review it, and deploy a live URL — with hosting, access controls, file storage, and a database included, no coding. It's aimed at focused internal tools (a launch tracker, a weekly-review dashboard, an options calculator, a staff onboarding page), not full software products. The build loop is five steps: describe → review → change → deploy → share. The one real limit today: sites can't hit live data directly, so you keep them current with a scheduled automation that gathers updates and refreshes the page — which is exactly where an agent/cron fits. The strategic read: this is OpenAI competing on platform (ship + host + gate + store), and it collapses "internal tool" from a mini-engineering-project down to a conversation.
Key takeaways
- It's a deploy target, not just a builder. You get a live URL plus hosting, access controls, storage, and DB out of the box — the plumbing (auth, hosting, a place for data) is handled, not homework.
- Scope it small and specific. One clear problem for one defined group. Good fits: launch tracker, weekly-review dashboard, calculator, onboarding page, project hub. Bad fit: a full customer-facing product (that's still a real engineering project).
- The format ladder matters. Document → internal site → lightweight app (adds interactivity: a calculator/dashboard) → larger software project. ChatGPT Sites owns the middle two rungs.
- Five-step loop: describe what you need and who uses it → review v1 → ask for changes →
Deploy this site and give me the URL→ share with specific people/groups (Enterprise admins gate availability). - Review audience, not just content. A deployed site can expose plans, analysis, or raw inputs — check who can see it before sharing, every time.
- Keep-it-fresh pattern = the agent hook. No live-data connection yet → run a scheduled automation to gather updates and refresh. This is where a Hermes cron plugs straight in.
- Practical gotcha: open the deployed link in Chrome to review (the in-app browser isn't supported yet).
The format ladder — where ChatGPT Sites lives
Not everything should be an app. The value is knowing which rung you're on — ChatGPT Sites owns the two middle rungs that used to require a developer.
flowchart LR
D["📄 Document<br/>static text a team returns to"] --> S["🌐 Internal site<br/>a page for one job"]
S --> A["🧮 Lightweight app<br/>+ interactivity (calc / dashboard)"]
A --> P["🏗️ Larger software project<br/>real engineering"]
S -. ChatGPT Sites .- A
style S fill:#dcfce7,stroke:#16a34a
style A fill:#dcfce7,stroke:#16a34a
The build loop (5 steps)
flowchart LR
D["1 · Describe<br/>what + who it's for"] --> R["2 · Review v1"]
R --> C["3 · Ask for changes"]
C --> DEP["4 · Deploy<br/>'give me the URL'"]
DEP --> SH["5 · Share<br/>specific people / groups"]
SH -.->|"stays fresh via"| AUTO["⏰ Scheduled automation<br/>gather updates → refresh"]
AUTO -.-> R
style DEP fill:#dbeafe,stroke:#2563eb
style AUTO fill:#fef9c3,stroke:#ca8a04
The dashed loop is the important part for me: because a site can't query live data on its own, you close the gap with a recurring automation that pulls fresh numbers and updates the page. That's an agent job — describe the site once, then let a cron keep it honest.
Where this fits for CKA / my setup
- First build candidate: an internal bookings/ops dashboard or a weekly-review page — deployed in minutes, shared only with me/staff, refreshed nightly by an automation.
- Onboarding page for staff — a single link that stays current instead of a stale doc.
- The primitive worth internalizing: "describe → deploy a gated, stored, hosted app in one conversation." It's the deploy half of the agent-OS I'm building; Hermes owns the refresh half.
- Boundary to respect: internal tools only. Anything customer-facing or complex still graduates to a real engineering project — don't force the rung.
Synthesis and diagrams are mine, drawn from OpenAI Academy's public article (linked above); I haven't reproduced their text or screenshots. Kept as a study note alongside the Codex-vs-Claude breakdown, where this feature is the standout platform move.
Mitchell Miller