Todos os projetos
Abrir o Tymee Experimentar o simulador Código-fonte privado
Página pública do Tymee: apresentação do produto e prévia demonstrativa da agenda em amarelo e preto.
Captura real do site público. A agenda mostrada na página é ilustrativa, com clientes e serviços de exemplo.
Estágio do produto
Publicado, em validação inicial
Minha participação
Projeto próprio, desenvolvimento com IA
Público
Profissionais e negócios de beleza

O problema e o recorte

Conferir serviços e horários pelo WhatsApp interrompe o atendimento e espalha as informações. O Tymee reúne a escolha do cliente e a organização do profissional em uma aplicação web, acessível pelo celular e pelo computador.

Minha participação

O Tymee é o projeto que desenvolvo com apoio de IA. Minha participação abrange a construção da interface e dos fluxos da aplicação, incluindo agendamentos e gestão do negócio. A IA participa da escrita do código; eu direciono o projeto e assumo a responsabilidade pelo que apresento aqui. A implementação é também uma oportunidade de estudar uma aplicação web com dados persistidos e regras de negócio.

Fluxos implementados

Reserva pelo link público

Escolha de um ou mais serviços, data e horário; identificação do cliente por nome e telefone, sem criar uma conta para reservar.

Rotina do profissional

Configuração de serviços, equipe e horários de trabalho; agenda, alteração de status, bloqueios de disponibilidade e agendamentos recorrentes.

Acesso e dados persistidos

Conta profissional com e-mail e senha, verificação de e-mail e recuperação de acesso. Clientes, serviços e reservas são armazenados em PostgreSQL.

Gestão e comunicação

Cadastro de clientes e controle financeiro. Mensagens prontas abrem no WhatsApp para envio manual pelo profissional. Assinaturas possuem integração com Stripe.

Simulador público do Tymee com seleção de serviços, horários e dados fictícios para uma reserva.
Captura real do simulador público. Usa dados fictícios e não cria reservas nem envia mensagens.

Tecnologias e o papel de cada uma

Next.js · React · TypeScript

Reúnem interface e rotas de servidor na aplicação web; os tipos ajudam a organizar os dados entre telas e regras.

Tailwind CSS · React Hook Form · Zod

Estilização, estado de formulários e validação de entrada, incluindo dados enviados pelo fluxo público de reserva.

PostgreSQL · Drizzle ORM

Persistência relacional de profissionais, serviços e agendamentos, com consultas tipadas e transações.

Better Auth · Resend · Stripe

Autenticação profissional, e-mails transacionais e cobrança de assinaturas. A publicação usa Railway, com staging separado de produção.

Duas decisões que aparecem no código

Disponibilidade é conferida novamente no servidor

A criação da reserva acontece em uma transação PostgreSQL, com bloqueios e nova checagem de horário, profissional e sobreposição. Uma chave de idempotência trata reenvios da mesma solicitação. Isso evita depender apenas do horário exibido na tela.

Cada operação tem um contexto profissional

A sessão e o vínculo da equipe definem o profissional acessado. Consultas filtram por professionalId e há verificações de permissão por integrante. Assim, a aplicação associa clientes, serviços e reservas ao contexto do estabelecimento, em vez de confiar apenas em um identificador enviado pela interface.

Estado atual, limites e próximos passos

  • O site está publicado. A documentação do produto registra validação inicial e preparação de piloto; ainda não há resultados de uso contínuo ou métricas comprovadas para apresentar.
  • O simulador público permite conhecer a interação, mas não é uma reserva real. O painel exige conta e os recursos dependem da configuração do estabelecimento.
  • O WhatsApp usa links com texto pronto; o envio continua manual. Não apresento isso como integração de disparo automático.
  • Próximos passos: concluir a configuração e acompanhar a jornada do piloto, registrar dificuldades e priorizar correções a partir do uso real.

Conteúdo técnico conferido no código e na documentação do projeto em outubro de 2026. A inspeção do site público não substitui um teste completo das áreas autenticadas.