O modelo certo e a ideia que sustenta tudo
Antes de qualquer prompt, entenda a ideia. Quase todo mundo que tenta fazer isso começa errado: cria uma tabela de agendamentos no próprio banco e tenta controlar os horários por ali. Aí marca uma reunião pelo celular, esquece de bloquear no sistema, e dois compromissos caem no mesmo horário.
O motor da sua agenda é o Google Agenda, não o seu banco
Toda vez que alguém abre o seu link, o seu servidor pergunta pro Google o que já está ocupado nos próximos 30 dias, e desconta isso da sua janela de atendimento. O que sobra é o que a pessoa vê.
O seu banco guarda só três coisas: a sua configuração (dias e horários que você atende), a chave de acesso ao Google e um registro do que foi marcado. A verdade sobre o seu tempo mora no Google. É isso que faz o conflito de horário ser impossível.
A stack é a mesma do material anterior: Next.js com App Router, TypeScript, Tailwind e Supabase. Mais uma biblioteca de datas, porque fuso horário é onde esse tipo de projeto morre.
Use no mínimo o Opus 4.8. Se tiver Opus 5, use o Opus 5.
Esse projeto tem duas coisas que modelo fraco erra sempre: conta de fuso horário e o vaivém do login do Google. Erro de uma hora no cálculo é o tipo de bug que só aparece na semana seguinte, com um cliente entrando na sala errada.
- Modelo em Opus e uma conversa só do primeiro ao último prompt.
- Conta no Supabase com um projeto novo, e a URL mais a service role key guardadas.
- A conta do Google que tem a agenda que você usa de verdade, todo dia.
- Paciência pro passo 02. É o único chato, e é uma vez só na vida.