Contexto
A proposta foi explorar uma compra que começa por uma conversa, mantendo o catálogo e o carrinho como referências concretas. Em vez de um chat isolado, o protótipo conecta perguntas sobre produtos e estoque a ações de listagem, adição e remoção na experiência de compra.
Minha participação
Desenvolvi de ponta a ponta o cliente Expo e a API, com autenticação, catálogo, carrinho local e pedidos. Integrei o Gemini ao contexto de produtos e histórico, a comunicação por WebSocket e a interpretação de comandos que ligam a resposta do assistente aos componentes da interface.
Como funciona
- A pessoa consulta o catálogo ou envia uma pergunta ao assistente pela conexão WebSocket.
- O servidor busca produtos, disponibilidade e, quando pertinente, histórico de pedidos para compor o contexto da resposta.
- Comandos reconhecidos na resposta apresentam produtos ou alteram o carrinho, que é mantido no armazenamento local do aplicativo.
- O checkout de demonstração grava pedido e itens e atualiza o estoque no banco, sem uma cobrança financeira real.
Decisões técnicas
Conectar conversa a dados concretos
O assistente recebe produtos recuperados do catálogo, com identificadores usados pelo parser e pela interface. Essa ligação permite experimentar ações verificáveis além de uma resposta apenas textual.
Manter o protótipo observável
Catálogo, carrinho, mensagem e pedido continuam representados em estruturas próprias. A separação ajuda a entender se o comportamento veio da busca, do modelo, do parser ou da persistência.
Aprendizados
Uma resposta bem escrita não garante uma ação correta. O experimento evidenciou a necessidade de validar comandos e dados de compra deterministicamente e de separar a memória temporária da conversa do estado persistente do negócio.
Limites e próximos passos
- Protótipo: o controlador de pagamento não está implementado e o checkout não processa pagamentos reais.
- O histórico de conversa fica em memória no servidor; validação de compra e testes de negócio precisam evoluir antes de uso comercial.