Você vai construir um recomendador de filmes inteligente usando inteligência artificial neste guia sobre como criar aplicativo com ChatGPT do zero absoluto. Tenha em mãos um computador com acesso à internet, uma conta gratuita no Replit e saldo na OpenAI API. O processo leva 30 minutos e o custo inicial é zero.
O que você vai precisar
- Uma conta ativa na plataforma de desenvolvimento da OpenAI para obter as chaves de integração do modelo inteligente.
- Uma conta gratuita no ambiente de desenvolvimento integrado do Replit para escrever e rodar todo o código gerado sem precisar instalar nada no seu computador.
- Uma conta opcional na plataforma do GitHub para manter o histórico de alterações do seu sistema salvo na nuvem.
- Tempo estimado de execução de ponta a ponta: 30 minutos de dedicação direta.
- Custo aproximado de execução: R$ 0 de hospedagem na camada gratuita do Replit e cerca de US$ 5 mínimos de créditos de uso para consumo de dados na API oficial da OpenAI.
Passo a passo
-
Crie a sua chave de API na plataforma da OpenAI
Acesse o painel oficial para desenvolvedores da OpenAI e faça login com as suas credenciais ativas. No menu lateral localizado no canto esquerdo da tela, clique na opção “API Keys” para carregar a tela de gerenciamento de credenciais de acesso de segurança.
Clique no botão cinza chamado “Create new secret key”, dê o nome de “app-filmes” para identificar a sua chave com facilidade e clique no botão verde de confirmação final. Copie imediatamente todo o texto da chave privada gerada, que começa sempre com os caracteres “sk-proj-“, pois esse código não será exibido na tela novamente.
Após fechar a caixa de diálogo, você deve ver na tela a tabela atualizada exibindo a nova chave com o status ativo e a indicação de que nunca foi utilizada.
-
Configure o seu projeto web dentro do Replit
Abra o site do Replit no navegador de sua preferência e acesse o painel principal da sua conta. No canto superior esquerdo do painel de controle, clique no botão azul com o rótulo “Create Repl” para iniciar as configurações básicas do ambiente virtual.
No campo de busca de tecnologias de desenvolvimento do Replit, selecione o template oficial chamado “Python” e no campo de texto para o nome do projeto insira “recomendador-filmes”. Clique no botão azul “Create Repl” posicionado na base do formulário para carregar o seu terminal interativo integrado.
Você deve ver na tela o editor dividido em três seções primárias: a árvore de arquivos à esquerda, o editor de código no centro e o terminal de comando escuro à direita.
-
Insira as credenciais de segurança do sistema no painel de segredos
No painel lateral esquerdo do Replit, localize o ícone de cadeado que representa a ferramenta de gerenciamento de variáveis secretas de ambiente do projeto. No campo de preenchimento para a chave do segredo, escreva exatamente o nome da variável como “OPENAI_API_KEY” usando letras maiúsculas e sem nenhum espaço.
No campo de inserção do valor do segredo, cole toda a sequência de caracteres privados que você gerou na plataforma da OpenAI no primeiro passo deste manual. Clique no botão azul “Add new secret” para salvar essa credencial diretamente na memória reservada do sistema operacional do seu servidor online.
Você deve ver na tela o card de confirmação com a chave protegida e oculta, impedindo que visitantes ou pessoas indesejadas visualizem sua credencial de faturamento.
-
Escreva o prompt estruturado no ChatGPT para gerar o backend do sistema
Abra uma nova aba do navegador no site do ChatGPT e prepare as instruções técnicas detalhadas para a inteligência artificial programar os arquivos de controle. Use o modelo moderno para solicitar o desenvolvimento de um servidor de rotas baseado no microframework Flask em linguagem Python.
Envie o comando estruturado abaixo para o chat, garantindo que o interpretador da IA compreenda o comportamento correto do servidor:
Crie um script Python chamado main.py usando Flask que tenha duas rotas principais. A rota "/" carrega um template index.html. A rota "/recomendar" recebe dados em formato JSON contendo "genero" e "clima" via método POST. Use a biblioteca oficial openai v1.0.0+ para enviar um prompt com esses dados para o modelo gpt-4o-mini da OpenAI. O retorno deve ser um JSON estruturado com uma lista de 3 recomendações contendo "titulo", "ano", "sinopse" e "motivo". Trate as variáveis de ambiente utilizando os segredos do Replit com "os.environ.get".Você deve ver na tela a resposta do robô gerando o código completo estruturado em Python e as dependências que precisam ser adicionadas ao arquivo de pacotes.
-
Crie os arquivos de código no servidor do Replit
Volte ao painel do Replit e clique duas vezes sobre o arquivo “main.py” existente no menu esquerdo para abrir o espaço de edição de código limpo. Apague todo o conteúdo que estiver ali por padrão e cole o código gerado pelo robô, que segue a estrutura exata apresentada no bloco abaixo:
import os from flask import Flask, render_template, request, jsonify from openai import OpenAI app = Flask(__name__) client = OpenAI(api_key=os.environ.get("OPENAI_API_KEY")) @app.route("/") def index(): return render_template("index.html") @app.route("/recomendar", methods=["POST"]) def recomendar(): dados = request.get_json() genero = dados.get("genero") clima = dados.get("clima") prompt_usuario = f"Recomende 3 filmes do gênero {genero} que combinem perfeitamente com um clima {clima}. Retorne apenas um objeto JSON estruturado com uma chave chamada 'filmes' contendo uma lista de 3 objetos com as propriedades: 'titulo', 'ano', 'sinopse', 'motivo'." try: resposta = client.chat.completions.create( model="gpt-4o-mini", messages=[ {"role": "system", "content": "Você é um assistente especialista em cinema que só responde em formato JSON válido estruturado."}, {"role": "user", "content": prompt_usuario} ], response_format={"type": "json_object"} ) return jsonify({"sucesso": True, "dados": resposta.choices[0].message.content}) except Exception as e: return jsonify({"sucesso": False, "erro": str(e)}), 500 if __name__ == "__main__": app.run(host="0.0.0.0", port=8080)Clique no botão de adicionar arquivo no painel de controle esquerdo do Replit, digite o nome de “requirements.txt” e adicione as dependências essenciais do projeto. Se quiser entender mais sobre a sintaxe do interpretador da linguagem de desenvolvimento, consulte a documentação da Python Software Foundation.
Flask==3.0.3 openai==1.30.1Você deve ver na tela os dois arquivos salvos com as respectivas extensões corretas e a sintaxe colorida destacando as variáveis de conexão com o banco.
-
Crie a pasta de visualização e a interface HTML do usuário
No topo da lista de diretórios do Replit, clique no ícone de adicionar pasta chamado “Add Folder” e crie um diretório chamado exatamente “templates” no plural. Dentro dessa nova pasta criada, clique no botão de novo arquivo chamado “Add File” e configure-o com o nome de “index.html”.
Para aprender técnicas modernas de estilização visual no desenvolvimento de interfaces interativas, leia os guias de seletores do portal MDN Web Docs. Cole o código HTML, CSS e JavaScript listado abaixo dentro do seu arquivo de interface visual recém-criado:
<!DOCTYPE html> <html lang="pt-BR"> <head> <meta charset="UTF-8"> <title>Recomendador Inteligente de Filmes</title> <style> body { font-family: Arial, sans-serif; background-color: #121212; color: #ffffff; padding: 20px; text-align: center; } .container { max-width: 600px; margin: 0 auto; background: #1e1e1e; padding: 30px; border-radius: 8px; box-shadow: 0 4px 10px rgba(0,0,0,0.5); } select, button { width: 100%; padding: 12px; margin: 10px 0; border-radius: 4px; border: none; font-size: 16px; } select { background: #333; color: white; } button { background-color: #e50914; color: white; font-weight: bold; cursor: pointer; } .filme { background: #2a2a2a; padding: 15px; margin: 15px 0; border-radius: 6px; text-align: left; } </style> </head> <body> <div class="container"> <h1>Recomendador de Filmes</h1> <p>Como criar aplicativo com chatgpt se torna fácil quando deixamos a IA trabalhar no backend!</p> <label>Escolha o gênero:</label> <select id="genero"> <option value="Ação">Ação</option> <option value="Comédia">Comédia</option> <option value="Drama">Drama</option> <option value="Ficção Científica">Ficção Científica</option> </select> <label>Escolha o clima de hoje:</label> <select id="clima"> <option value="Chuvoso">Chuvoso</option> <option value="Ensolarado">Ensolarado</option> <option value="Frio">Frio e Congelante</option> </select> <button onclick="buscarFilmes()">Obter Recomendações de IA</button> <div id="resultados"></div> </div> <script> async function buscarFilmes() { const resultadosDiv = document.getElementById("resultados"); resultadosDiv.innerHTML = "Carregando recomendações personalizadas..."; const payload = { genero: document.getElementById("genero").value, clima: document.getElementById("clima").value }; try { const resposta = await fetch("/recomendar", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }); const resultado = await resposta.json(); if (resultado.sucesso) { const dados = JSON.parse(resultado.dados); resultadosDiv.innerHTML = ""; dados.filmes.forEach(filme => { resultadosDiv.innerHTML += ` <div class="filme"> <h3>${filme.titulo} (${filme.ano})</h3> <p><strong>Sinopse:</strong> ${filme.sinopse}</p> <p><em><strong>Por que assistir:</strong> ${filme.motivo}</em></p> </div> `; }); } else { resultadosDiv.innerHTML = "Ocorreu um erro no processamento das informações."; } } catch (erro) { resultadosDiv.innerHTML = "Erro de conexão com o servidor de recomendações."; } } </script> </body> </html>Você deve ver o arquivo contendo a estrutura de tags montada dentro da subpasta de templates.
-
Inicie o servidor e visualize seu aplicativo funcionando
No topo central da interface do seu ambiente Replit, localize o botão redondo com o símbolo verde de reprodução que exibe o rótulo “Run”. Clique sobre o botão para iniciar a rotina de leitura das dependências de rede listadas no arquivo de controle do projeto.
Observe que o terminal na cor preta do lado direito começará a instalar as bibliotecas do Flask e do integrador de linguagem da inteligência artificial. Assim que o carregamento terminar, um navegador integrado será exibido na lateral do editor de código do projeto.
Você deve ver na tela o recomendador de filmes em funcionamento dinâmico, exibindo os campos de seleção e o botão funcional para gerar recomendações personalizadas.
Erros mais comuns
Ao conectar a inteligência artificial à sua plataforma de desenvolvimento online, pequenos desvios de configuração podem impedir a correta comunicação de dados. Certifique-se de validar o console de monitoramento do seu navegador caso as respostas atrasem.
O primeiro erro comum ocorre quando a conta da OpenAI fica sem saldo ativo para processamento de novos tokens de requisição de dados. O log do console exibirá exatamente o seguinte JSON de recusa de transação:
{
"error": {
"message": "You exceeded your current quota, please check your plan and billing details.",
"type": "insufficient_quota",
"param": null,
"code": "insufficient_quota"
}
}
O segundo erro recorrente é a ausência de registro correto das dependências do sistema operacional de execução do Flask. A tela preta de terminal do Replit exibirá o erro de falta de biblioteca conforme o modelo a seguir:
Traceback (most recent call last):
File "main.py", line 3, in <module>
from openai import OpenAI
ModuleNotFoundError: No module named 'openai'
O terceiro obstáculo costuma ser a nomeação incorreta da estrutura de pastas, o que impede o Flask de encontrar o arquivo HTML visual principal. O terminal do seu servidor local acusará a falta do arquivo através da mensagem literal descrita abaixo:
jinja2.exceptions.TemplateNotFound: index.html
Quanto custa
Desenvolver este tipo de solução baseada em inteligência artificial requer baixo investimento financeiro para testes e consolidação de ferramentas de controle básico. O Replit oferece uma camada inteiramente gratuita para a criação de ambientes virtuais de testes com o limite de uso compartilhado.
Para quem deseja expandir a velocidade das execuções do sistema de desenvolvimento, o plano de assinatura do Replit custa aproximadamente US$ 15 por mês em sua assinatura inicial. Os custos de processamento de solicitações utilizando o modelo inteligente gpt-4o-mini são calculados com base no volume de texto que entra e sai da API.
O investimento mínimo para habilitar uma chave de desenvolvimento ativa é de US$ 5 adicionados em sua conta do painel OpenAI para consumo contínuo de tokens. Cada busca no seu recomendador de filmes consumirá menos de US$ 0.01 de seus créditos ativos na plataforma oficial.
Perguntas frequentes
Como eu posso criar um aplicativo de filmes próprio sem codificar?
Você pode estruturar um painel de gerenciamento de dados utilizando o Replit acoplado à API oficial da OpenAI. O robô escreve todo o código de rotas e o interpretador HTML, cabendo a você organizar as estruturas de armazenamento e os layouts visuais finais do sistema.
É muito caro assinar o plano para criar aplicativos pro com o ChatGPT?
O desenvolvimento não exige o plano premium pago do ChatGPT se você utilizar as chamadas diretas de API que cobram apenas pelas requisições processadas. O modelo gpt-4o-mini custa em torno de US$ 0.15 por milhão de tokens lidos, facilitando a criação de sistemas com custos iniciais baixíssimos.
Consigo criar um aplicativo de música que usa inteligência artificial com esse método?
Sim, você pode alterar as regras do seu prompt no servidor em Python para que o sistema consuma metadados de álbuns ou artistas. O ChatGPT consegue atuar como um seletor inteligente enviando dados organizados em listas JSON que alimentam reprodutores multimídia integrados no navegador de internet.
Dá para integrar APIs de pagamento para criar algo seguro como o aplicativo caixa?
Sim, você pode solicitar ao ChatGPT que integre pacotes de pagamento seguros como a API do Stripe para realizar cobranças diretas. O interpretador de inteligência artificial escreve as funções de checkout criptografadas que operam de maneira segura respeitando as regras dos cartões de crédito globais.
Posso usar essa mesma lógica para desenvolver um aplicativo de jogos baseado em texto?
Certamente, este mesmo motor de envio de dados POST do Flask pode ser redirecionado para gerenciar aventuras de RPG em tempo real. O ChatGPT recebe o contexto da jogada anterior do usuário e retorna as descrições da história atualizadas no painel dinâmico do navegador.
Conclusão
Seguindo este fluxo prático você conseguiu criar e colocar no ar uma aplicação web dinâmica integrada a um dos modelos de inteligência artificial mais avançados do mercado. O uso de geradores de código permite o desenvolvimento de funcionalidades avançadas sem a necessidade de passar anos estudando sintaxe tradicional de computação.
Escreva um comentário abaixo compartilhando as suas dúvidas sobre o processo ou conte qual ideia de projeto você planeja tirar do papel usando este passo a passo!
Leia também
Receba um tutorial de automação por semana
Toda terça, um passo a passo testado por mim e o prompt exato que usei. Sem enrolação, sem spam.