1. Introdução
Do ponto de vista de um desenvolvedor comum, tudo isso já parece um pouco familiar: há uma nova palavra da moda — ChatGPT App, há API, há SDK, há mais algumas siglas, e parece que é “só mais uma forma de chamar um modelo de IA”.
O problema é que, sem um mapa mental claro, as pessoas começam a confundir entidades muito diferentes: os antigos ChatGPT-plugins, o Assistants API, os Custom GPTs e os novos ChatGPT Apps. Como resultado, alguém espera “clicar tudo” em uma noite no UI como um Custom GPT, mas acaba tendo de subir um servidor MCP, escrever um widget em Next.js e pensar na Store. E o contrário também acontece: alguém escreve um backend complexo, embora para sua tarefa bastasse um simples Custom GPT ou um wrapper de API comum.
Portanto, comecemos pelo que o novo ChatGPT App é (e vamos organizar tudo direitinho) e pelo que ele não é.
Breve evolução “histórica” das integrações com LLM
Antes de dar definições, é útil ver a evolução das abordagens. Isso ajuda não apenas a decorar termos novos, mas a entender de onde surgiu a ideia de App dentro do ChatGPT.
Primeiro, havia a variante clássica de “API wrapper”. Você subia sua aplicação web ou bot e, em algum lugar no backend, chamava a OpenAI API: passava um prompt, recebia uma resposta textual e a mostrava ao usuário. Toda a lógica, o UI, a autenticação e a cobrança ficavam do seu lado. O ChatGPT, como produto, não participava disso.
Depois surgiram os ChatGPT Plugins.
Essa foi a primeira tentativa de embutir serviços externos na própria interface do ChatGPT. O plugin era descrito via OpenAPI, o ChatGPT podia chamar os endpoints dele e você respondia com JSON, que o modelo traduzia para o usuário em texto. O plugin não tinha UI próprio — no máximo, Markdown, que o modelo podia mostrar no chat. Hoje, esse sistema é considerado obsoleto.
Depois vieram os Custom GPTs (MyGPTs).
É um construtor da “sua versão do ChatGPT” sem código: você configura prompts, conecta arquivos e, às vezes, Custom Actions a uma API HTTP. Tudo vive na interface do ChatGPT, mas o UI é estritamente padrão e as integrações são limitadas pelas possibilidades de Actions.
E, por fim, um salto qualitativo — os novíssimos ChatGPT Apps. Aqui já aparece um UI rico (um widget dentro do chat), um protocolo padronizado para conversar com seus dados e lógica de backend (MCP) e um lugar específico no ecossistema: Dev Mode, Store, permissões, pagamentos embutidos e assim por diante.
No momento em que este curso foi escrito, havia 4 milhões de aplicativos no Google Play, 2 milhões na Apple AppStore e apenas 5 no ChatGPT. Não 5 milhões, mas apenas 5(!) apps. E o ChatGPT tem 800 milhões de usuários ativos por semana. Nunca foi tão fácil entrar no top 100 apps e faturar alguns milhões.
Se eu chamei sua atenção, vamos nos aprofundar na questão principal: afinal, o que é esse novo ChatGPT App?
2. Definição concisa do ChatGPT App
Existem algumas explicações de marketing na internet, mas, como somos todos de TI aqui, vou traduzi-lo para uma linguagem direta.
ChatGPT App é uma aplicação web que roda dentro do ChatGPT e tem seu próprio widget de UI. O aplicativo fornece ao ChatGPT um conjunto de ferramentas (funções) e dados e é registrado no catálogo de aplicativos (App Store). O aplicativo combina a interface conversacional (chat) com um UI gráfico e lógica de backend, comunicando-se com a plataforma ChatGPT por meio de protocolos padronizados como o MCP.
E o que isso nos traz:
Primeiro, “roda dentro da interface do ChatGPT”. O usuário não sai de https://chatgpt.com/ nem do app mobile; o UI do seu aplicativo é incorporado nessa interface como um widget. Seu widget será exibido diretamente no fluxo do chat.
Segundo, “tem seu próprio widget de UI”. Não é apenas texto que o modelo imprime no chat. Você pode renderizar componentes React: cards, listas, formulários, mapas, players e outras delícias da vida frontend. Tecnicamente, é um aplicativo Next.js comum, executado em um sandbox e que conversa com o ChatGPT por meio do objeto window.openai e do Apps SDK.
Terceiro, “fornece ao ChatGPT um conjunto de ferramentas (funções) e dados”. Você sobe no backend um servidor MCP e registra lá as ferramentas MCP do seu App — você descreve as ações que seu serviço sabe executar: busca em catálogo, reservas, análise de dados, geração de relatórios. O ChatGPT enxerga essas ferramentas como funções com JSON Schema e pode chamá-las quando achar apropriado.
Quarto, “é registrado no catálogo de aplicativos”. O App tem nome, ícone, descrições, categorias, permissões, versões e monetização. Não é um “scriptzinho improvisado”, mas um App completo no ecossistema do ChatGPT.
Uma mudança de mentalidade muito importante: você não escreve um “bot” que decide tudo. Você descreve a interface e as capacidades (UI + tools), e o ChatGPT é quem decide quando usá-las e como integrá-las ao diálogo. O controle total do cenário é apenas parcial.
Há uma grande vantagem para você — o ChatGPT ele próprio sugere aos usuários instalar seu aplicativo e ele próprio decide quando iniciá-lo. Ou seja, o custo de anúncio do aplicativo é $0. Um milhão de instalações do seu aplicativo vai custar $0. Pelo menos, se você for um dos primeiros.
Lançar seu ChatGPT-app em 2025 é como comprar bitcoins por $1. A escolha é sua.
3. Anatomia do ChatGPT App: UI, ferramentas e contexto
Para não nos perdermos, vamos decompor o App em três grandes componentes, que vão aparecer ao longo de todo o curso.
O primeiro componente é a camada de UI. É o seu widget, geralmente escrito em React/Next.js usando o Apps SDK. Ele é renderizado dentro do ChatGPT e mostra listas de presentes, formulários de reserva, gráficos e qualquer outra coisa visual. Ele vive no sandbox: não pode quebrar o DOM geral, não pode simplesmente sair para a internet e funciona dentro de uma janela limitada.
O segundo componente são ferramentas, recursos e prompts. No nível do protocolo, é um servidor MCP com capacidades descritas: tools (ações), resources (dados) e prompts (modelos). As ferramentas são descritas com esquemas JSON, e o modelo as vê como funções que podem ser chamadas quando fizer sentido. Nos próximos módulos veremos em detalhes como acontece essa chamada callTool, mas agora é importante lembrar: as ferramentas são as mãos e os olhos do seu App no mundo real.
O terceiro componente é o contexto de uso. É tudo com que você descreve seu App para o modelo e para os usuários: o prompt do sistema, descrições das ferramentas, permissões, público-alvo, categorias na Store. Esses metadados determinam quando o GPT vai sugerir o App, quais solicitações considerar relevantes e quais ações são permitidas.
Um pouco mais adiante, quando analisarmos o aplicativo de estudo GiftGenius, você verá essas três camadas ao vivo: o widget de UI com cards de presentes e um assistente de perguntas de esclarecimento, as ferramentas de seleção e de checkout no lado MCP/backend e o contexto — instruções do sistema, descrições, permissões e categorias na Store.
4. Comparando os “aplicativos” do ChatGPT
Agora que temos uma visão geral e a anatomia do App, vamos dar um passo atrás e compará-lo com seus “parentes”. Isso vai ajudar a separar de vez na cabeça os Apps, os plugins, o Assistants API e a simples OpenAI API. Abaixo — uma tabela que ajuda a manter essas entidades separadas.
| Entidade | Onde o UI está | Quem paga pelos tokens | Cenário principal | Status em 2025 |
|---|---|---|---|---|
| ChatGPT App | Dentro do ChatGPT (widget) | Usuário do ChatGPT | Cenários complexos, SaaS dentro do GPT, commerce | Foco principal |
| Legacy Plugins | Dentro do ChatGPT (texto) | Usuário do ChatGPT | Chamadas de API simples, sem UI próprio | Obsoletos |
| Assistants API | No seu site / no seu produto | Você como desenvolvedor | Agentes externos, recursos de IA nos seus produtos | Relevantes, mas à parte |
| OpenAI API | Sem UI, apenas JSON | Você como desenvolvedor | Acesso básico aos modelos para quaisquer tarefas | Camada básica |
| Custom GPTs | Dentro do ChatGPT (chat padrão) | Usuário do ChatGPT | Configuração de comportamento no‑code/low‑code | Nível de entrada |
Uma boa analogia, claramente enfatizada na documentação oficial: o Assistants API é quando você pega o “cérebro do GPT” e o incorpora no seu produto, e o ChatGPT App é o contrário, quando você traz seu produto para dentro da interface do ChatGPT.
5. O que o ChatGPT App NÃO é
Agora, vamos passar pelas crenças populares. Isso é importante para que depois não projetemos o App como outra coisa.
ChatGPT App ≠ só um site em Next.js
O desejo intuitivo de um frontend é ver o App como “só mais um SPA”, só que, em vez de /, você tem “uma janela estranha no ChatGPT”. Isso é parcialmente verdade, mas há uma diferença crítica: você não vive no seu domínio nem controla todo o UI; você aluga um pedacinho da interface do ChatGPT. Você não pode reescrever a navegação, colocar seu banner por cima de tudo ou “hackear” o ambiente.
Neste curso, vamos tratar o widget como um componente isolado, não como um site completo: ele tem restrições rígidas de rede, DOM e recursos, e todo o trabalho pesado vai para o backend/MCP. Falaremos dos detalhes do sandbox na última aula deste nível; por ora, basta lembrar que isso não é “só mais uma hospedagem de Next.js”.
Para ilustrar — um exemplo de código. Assim se parece um clássico “API wrapper” em torno da OpenAI no seu aplicativo Next.js — isto não é um ChatGPT App:
// app/api/chat/route.ts — backend comum do seu site, não é um App
import OpenAI from "openai";
import { NextRequest, NextResponse } from "next/server";
const client = new OpenAI();
export async function POST(req: NextRequest) {
const { message } = await req.json();
const response = await client.responses.create({
model: "gpt-5.2",
input: [{ role: "user", content: [{ type: "text", text: message }] }],
});
return NextResponse.json({ reply: response.output[0].content[0].text });
}
O usuário deste aplicativo se comunica com o seu backend, não com o ChatGPT. Toda a lógica de UI e sessões é sua. É uma ótima opção para recursos de IA dentro do seu produto, mas isso não é um ChatGPT App.
ChatGPT App ≠ o antigo ChatGPT Plugin
A palavra “plugin” precisa ir para o museu de 2023 e ser usada apenas para nomear o sistema antigo. Os plugins davam ao ChatGPT a capacidade de chamar seus endpoints HTTP via especificação OpenAPI, mas não permitiam construir um UI rico: no máximo, você podia devolver Markdown, que o modelo mostrava no chat.
Os novos Apps, ao contrário dos plugins, podem renderizar widgets React, trabalhar via MCP, ter permissões e participar de cenários financeiros. Portanto, pensar neles como “plugins 2.0” é uma simplificação que rapidamente sairá pela culatra quando você começar a projetar o UI e as ferramentas.
ChatGPT App ≠ Assistants API
O Assistants API resolve outro problema: como dar ao seu produto (site, aplicativo mobile, ferramenta interna) um assistente inteligente baseado em GPT. Lá, tudo vive “com você”, você controla o UI, e o GPT é um serviço de backend com o qual você conversa por API.
No caso do ChatGPT App, é o oposto. O UI e a experiência principal do usuário pertencem ao ChatGPT, e você “se muda” para lá com seu aplicativo. O usuário não vê seu domínio; ele vê o nome e o ícone do App dentro do ChatGPT, e os tokens geralmente são pagos por ele através da própria assinatura do ChatGPT.
Em resumo: o Assistants API é o GPT dentro do seu produto; o ChatGPT App é o seu produto dentro do ChatGPT.
ChatGPT App ≠ apenas um Custom GPT
Os Custom GPTs são uma ótima ferramenta para começar rápido: você monta um prompt, anexa alguns arquivos — e pronto, tem um “assistente pessoal”. Mas o UI é padrão, sem widgets, e as integrações via Custom Actions são bastante limitadas; não há o Apps SDK completo nem a camada MCP.
O ChatGPT App já é uma história pro‑code. Você escreve o widget (geralmente em Next.js), sobe um servidor MCP, configura autenticação, permissões e pagamentos. O nível de flexibilidade é bem maior, mas a responsabilidade também: por segurança, por UX e por passar na revisão ao registrar o aplicativo.
Uma estratégia prática que posso recomendar para negócios: usar um Custom GPT como porta de entrada de marketing (um assistente simples na GPT Store) e, em paralelo, desenvolver um App completo no Apps SDK para cenários sérios e monetização futura.
ChatGPT App ≠ “só mais um bot”
Por fim, um ponto psicológico importante. O ChatGPT App não é “só mais um chatbot”. É um produto com ciclo de vida: há Dev Mode, revisão, versões, restrições, analytics e cenários de pagamento. Pensar nele como “um botzinho para demo” é um jeito certo de subestimar o esforço, fracassar no lançamento real e não ganhar seus milhões.
6. Tipos de ChatGPT Apps
Para entender melhor o que você está construindo, é útil ter uma tipologia grosseira dos ChatGPT Apps. Neste curso, falaremos de quatro focos principais e usaremos rótulos curtos em inglês: UI-heavy, tool-first, commerce-oriented e data/analytics.
- Primeiro tipo — aplicativos UI‑heavy ou UI‑first. Aqui, o principal valor é a interface visual: assistentes, configuradores, formulários complexos, canvas. Exemplos: escolha de seguro com dezenas de parâmetros, configurador de design, visualização de dados.
- Segundo tipo — aplicativos Tool‑first. O principal aqui não é o UI, mas as ferramentas. O App fornece um conjunto poderoso de funções ao modelo, e grande parte da experiência do usuário é formatada pelo próprio ChatGPT, inserindo explicações em texto e, às vezes, um UI mínimo. Exemplo — um App que dá ao GPT acesso à base de conhecimento interna da empresa: o modelo decide quando e como chamar a busca e como explicar os resultados ao usuário.
- Terceiro tipo — aplicativos Commerce‑oriented. O centro de gravidade está em vendas, assinaturas, reservas. O App é integrado com o Agentic Commerce Protocol (ACP), consegue finalizar compras, trabalhar com carrinho e Instant Checkout, e vincular pedidos a usuários.
- Quarto tipo — aplicativos de Data/analytics. Eles se concentram em conectar fontes de dados e em analytics: relatórios, dashboards de BI, análise de logs e métricas, trabalho com arquivos enviados.
A mesma ideia pode ser implementada em estilos diferentes. Por exemplo, a escolha de presentes pode ser puramente Tool‑first (o modelo forma as explicações e o App apenas devolve um JSON com a lista de ideias) ou UI‑heavy (um widget rico com filtros, cards de produto e comparação de opções).
7. Nosso projeto didático: GiftGenius
É bom amarrar tudo o que faremos no curso a um único aplicativo “de ponta a ponta”. Portanto, ao longo do curso, escreveremos nosso próprio aplicativo: GiftGenius — um app para escolher presentes e finalizar compras via ChatGPT. Vamos voltar a ele constantemente.
Do ponto de vista da tipologia, o GiftGenius é, antes de tudo, um App commerce‑oriented com elementos UI‑heavy. O usuário escreve no ChatGPT algo como: “Preciso de um presente para um amigo de TI, orçamento de 50–70 dólares”, o modelo de IA decide conectar o GiftGenius, o App mostra um widget com perguntas de esclarecimento, uma seleção de presentes e, no fim, o checkout via ACP.
Para já começar a pensar nisso em termos de TypeScript, podemos rascunhar o modelo de domínio mais simples, que nos acompanhará adiante:
// gift-types.ts — modelo de domínio simplificado do GiftGenius
export type GiftIdea = {
id: string;
title: string;
priceUsd: number;
tags: string[]; // interesses do presenteado
occasion: string; // ocasião: birthday, wedding, etc.
};
Por enquanto, é apenas um tipo, não vinculado a nenhum SDK. Mas, à medida que avançarmos no curso, você verá como esses modelos de domínio começam a se infiltrar nas ferramentas do MCP, no widget de UI e até na camada de commerce.
8. Como o usuário vê o ChatGPT App dentro do diálogo
Embora o tema do “fluxo do usuário” seja o principal na terceira aula, é importante desde já, ao menos, esboçar o panorama geral para entender por que o UI é necessário e como o App aparece no diálogo.
O usuário conversa com o ChatGPT como de costume: escreve mensagens, faz perguntas, pede ajuda. O ChatGPT, por sua vez, a cada fala decide o que fazer: responder por conta própria, chamar alguma ferramenta, mostrar ou atualizar o widget do seu App, sugerir o uso do App se for relevante ao contexto.
Por exemplo, o usuário escreve: “Preciso de um presente para aniversário de casamento, orçamento de até 100 dólares; meu marido gosta de jogos de tabuleiro”. O modelo vê que há o App GiftGenius, que sabe escolher presentes por esses critérios. Ele pode seguir dois caminhos:
- Primeiro, sugerir ao usuário usar o GiftGenius, escrevendo algo como: “Posso conectar o App GiftGenius para selecionar algumas opções. Quer que eu o inicie?”.
- Chamar diretamente as ferramentas do App e exibir o widget com campos já preenchidos, mostrando a seleção ao usuário.
Tudo isso acontece sem o seu if user_said_gift then call_app() explícito. Você descreve as capacidades do App, e o modelo aprende a usá-las. Por isso, descrições claras, limitações e um UX bem pensado são tão importantes — caso contrário, o GPT ou vai abusar do seu App ou, ao contrário, nunca vai tocá-lo.
Para ilustrar, podemos representar isso como um diagrama:
flowchart TD U[Usuário no ChatGPT] -->|mensagem| G[Modelo GPT] G -->|decisão: usar o App?| A[Seu ChatGPT App] A -->|widget| W[UI no chat] A -->|tools/MCP| B[Seu backend / MCP] B --> A --> G --> U
Falaremos em detalhes sobre como exatamente o GPT decide chamar o App nos tópicos sobre ferramentas e system prompt, mas já é útil entender: é uma cooperação, não um controle imperativo.
9. Mini exercício: sua ideia de App
Para que o material não fique como teoria abstrata, vale a pena já agora pensar em uma ideia para o seu próprio App, que você vai desenvolver mentalmente junto com o GiftGenius.
Tente formular, em uma frase, o que o seu aplicativo faz dentro do ChatGPT. Por exemplo: “O App ajuda desenvolvedores a estimar a complexidade de tarefas e dividi-las em subtarefas” ou “O App monta rotas de viagem considerando clima e orçamento”.
Depois, vale a pena responder honestamente a duas perguntas. Primeiro, a qual tipo da nossa tipologia ele está mais próximo: UI‑heavy, tool‑first, commerce‑oriented ou data/analytics. Segundo, se é realmente um ChatGPT App ou, no fundo, apenas um bot no seu site ou mais um Custom GPT. Se tudo o que você precisa é chamar a OpenAI API com um pouco mais de conforto no backend, talvez um App completo nem seja necessário.
Essas mini análises são uma boa forma de economizar alguns meses construindo o produto errado.
10. Erros comuns ao entender o ChatGPT App
Erro nº 1: chamar tudo de “plugin”.
O sistema de plugins é uma etapa histórica de 2023. A nova geração de integrações são os Apps no Apps SDK + MCP. Se você continuar mentalmente preso ao termo “plugin”, é fácil subestimar o papel do UI, do sandbox, da Store e de todo o ciclo de produto. Neste curso, usamos “plugin” apenas para o sistema antigo, e por App entendemos sempre a nova geração de aplicativos.
Erro nº 2: esperar controle total sobre o GPT.
Às vezes, desenvolvedores chegam com a ideia “vou escrever um App e o modelo vai fazer estritamente o que eu disser”. No ecossistema do ChatGPT, é diferente: você descreve suas capacidades e intenções, mas o modelo decide quando chamar as ferramentas, quando mostrar o widget e quando apenas responder com texto. Se você tentar projetar o App como um SPA clássico com um roteiro rígido, a decepção será dolorosa.
Erro nº 3: confundir ChatGPT App com Assistants API.
Situação muito comum: a pessoa quer “um bot no seu produto”, mas por hábito olha para o Apps SDK, embora fosse muito mais simples e lógico usar o Assistants API. No fim, ela gasta energia com um widget no ChatGPT que seus usuários nem precisam. A distinção correta é simples: se os usuários vão ao seu site ou app, pense no Assistants API; se você quer ir até os usuários no ChatGPT, pense no ChatGPT App.
Erro nº 4: considerar o App “só mais um frontend” e ignorar o sandbox.
Quando um desenvolvedor tenta usar o Apps SDK como um frontend Next.js comum e ignora as restrições do sandbox (acesso limitado a rede, DOM e recursos), rapidamente se depara com “nada funciona como no meu site”. É importante aceitar de antemão que o widget é um componente isolado, e toda a integração pesada e o armazenamento de segredos devem ficar no backend/MCP.
Erro nº 5: superestimar o Custom GPT e subestimar o Apps SDK (ou vice-versa).
Os Custom GPTs e os Apps não são “ou/ou”, mas níveis diferentes de maturidade. Muitas vezes, a estratégia correta é usar ambos: Custom GPT como uma entrada rápida e marketing; App como um produto sério, com UI rico e commerce. Quando o desenvolvedor espera do Custom GPT recursos do nível do Apps SDK ou, ao contrário, puxa o Apps SDK para onde o Custom GPT bastaria, ele só complica a própria vida.
GO TO FULL VERSION