Nails by Ivyy · Agendamento online e gestão Agendamento em cada detalhe.

Site, agendamento e painel de gestão de um estúdio de unhas em Curitiba, com Google Agenda, lembretes por WhatsApp e um site novo que a dona edita sozinha.

Nails by Ivyy: Agendamento online e gestão
Nails by Ivyy — No celular

Onde eu entro

Um produto inteiro, de uma ponta à outra.

  1. 1

    Site e agendamento

    Para quem agenda

    • O site novo, o catálogo e a página de cada serviço.
    • Carrinho, cupons e o calendário com os horários livres.
    • Entrada por código, conta da cliente e acompanhamento do pedido.
  2. 2

    Painel da dona

    Para quem atende

    • Agenda, pedidos, bloqueios e horários da semana.
    • Serviços, adicionais, promoções e depoimentos.
    • Páginas do site, métricas de faturamento e configurações.
  3. 3

    Motor e integrações

    O que ninguém vê

    • Disponibilidade, preços e o ciclo de vida do pedido.
    • Google Agenda, Instagram, WhatsApp, SMS e tempo real.
    • Filas, testes, imagem Docker e publicação.
Ano
2026
Papel
Produto completo, sozinho: modelagem, back-end, painel, integrações, o site novo, testes e infraestrutura.
Stack
  • Laravel 13
  • Filament 5
  • Inertia
  • React 19
  • TypeScript
  • Tailwind 4
  • MySQL
  • Google Calendar API
  • Ably
  • Docker

O problema

Os horários eram combinados por mensagem, um por um. Isso gerava conflito com os compromissos pessoais da agenda da dona, clientes que esqueciam o horário e trabalho manual para divulgar serviços, preços e promoções. O estúdio precisava de um lugar onde a cliente visse só o que está livre de verdade e a dona decidisse tudo sem depender de ninguém.

Destaques

  • +80 agendamentos registrados no sistema entre abril e setembro de 2026
  • +70 pedidos aceitos pela dona no painel, sem troca de mensagens
  • +30 atendimentos concluídos e registrados, com o histórico de cada cliente
  • Desde abril em uso real pelo estúdio, com o site novo no ar desde setembro de 2026

O que foi construído

  1. Motor de disponibilidade

    Cruza atendimentos, bloqueios de agenda e eventos do Google Agenda em uma grade de 15 minutos, calcula a duração pelos serviços e adicionais escolhidos e confere o horário de novo no momento do pedido.

  2. Google Agenda nos dois sentidos

    Integração OAuth escrita sem SDK: atendimentos vão para a agenda com a cor do status, horários ocupados voltam a cada 15 minutos e conexões perdidas são detectadas de hora em hora.

  3. Catálogo com adicionais e promoções

    Serviços com adicionais obrigatórios ou opcionais, de valor fixo ou percentual, cupons e descontos automáticos com regras de valor mínimo, período, histórico de compras e limite de uso.

  4. Entrada sem senha

    A cliente se identifica pelo e-mail ou celular e recebe um código de acesso de seis dígitos, com validade, limite de tentativas e a mesma resposta exista ou não a conta.

  5. Pedido que a dona aprova

    O agendamento chega como solicitação, a dona aceita, confirma e conclui pelo painel, e cada mudança aparece em tempo real para a cliente, inclusive no link público de acompanhamento.

  6. Lembretes em quatro canais

    E-mail, WhatsApp, SMS e notificação no site, com lembrete na véspera, envio em fila sem duplicidade e descadastro por canal.

  7. Painel da dona

    Agenda com arrastar e redimensionar, bloqueios recorrentes, horários ocupados do Google que podem ser ignorados, cores por status, motivos de cancelamento e métricas de faturamento.

  8. Site novo, editável pela dona

    Site público refeito em React com uma identidade renovada, montado por um construtor de páginas com 19 tipos de seção e pré-visualização ao vivo, em português e espanhol.

O agendamento

Um horário em quatro passos.

Do catálogo ao pedido, tudo acontece no site, sem troca de mensagens e sem criar senha.

  1. Catálogo com filtro por categoria e busca, com a duração e o valor de cada serviço.
    1

    Escolha os serviços

    Catálogo com filtro por categoria e busca, com a duração e o valor de cada serviço.

  2. O carrinho soma valor e duração, aplica o cupom e os descontos automáticos.
    2

    Revise o pedido

    O carrinho soma valor e duração, aplica o cupom e os descontos automáticos.

  3. O calendário mostra só os dias e horários livres para a duração total escolhida.
    3

    Escolha data e horário

    O calendário mostra só os dias e horários livres para a duração total escolhida.

  4. E-mail ou celular e um código de acesso na hora. O pedido segue para a dona confirmar.
    4

    Entre com um código

    E-mail ou celular e um código de acesso na hora. O pedido segue para a dona confirmar.

Por dentro da agenda

Um horário só aparece se estiver livre de verdade.

Toda pergunta sobre disponibilidade passa por um único serviço. O site da cliente, o carrinho e o painel da dona recebem a mesma resposta, calculada sobre uma grade de 15 minutos e uma janela de 45 dias.

Três fontes, uma resposta
Atendimentos, bloqueios da dona e eventos do Google Agenda entram no mesmo registro de horários ocupados. Até uma solicitação ainda não aprovada segura o horário que pediu.
Bloqueios que se repetem
Folgas e compromissos podem se repetir por dia, semana ou mês, a cada N intervalos, com data de fim e ocorrências puladas uma a uma.
Google sem ingenuidade
O marcador de “livre” do Google não é levado ao pé da letra: eventos cancelados, convites recusados, aniversários e feriados ficam de fora, e a dona pode ignorar um evento sem apagá-lo.
Fuso horário no lugar certo
Os horários do Google são convertidos para o fuso do estúdio, e o site lê o fuso do navegador para mostrar cada horário a quem está do outro lado.
Rápido e discreto
Cada fonte é consultada uma vez para o período inteiro, em vez de uma vez por dia. E só a dona sabe por que um horário está ocupado: a cliente vê apenas que ele não está disponível.
Calendário do agendamento no celular, com os dias livres destacados.

Integrações

O que acontece fora do site.

Google Agenda
Cada atendimento é enviado depois que o banco confirma a mudança, com o estado de cada evento guardado e a cor do status traduzida para a paleta do Google. Falhas voltam para a fila quando a conexão é refeita.
Notificações
Quatro canais atrás de uma única interface. Cada envio tem uma impressão digital, o que impede a mesma mensagem de sair duas vezes, e guarda o resultado e o identificador do provedor.
Instagram
Todo dia as publicações são buscadas, as imagens convertidas para WebP e guardadas no armazenamento do site. A dona escolhe no painel quais aparecem, e o que saiu do Instagram sai do site.
Tempo real
Pedidos novos, aprovações e notificações chegam ao painel e à conta da cliente pelo Ably, com tokens limitados aos canais de cada um. Se o serviço falhar, o pedido segue normalmente.

O site novo

Identidade renovada, editada pela dona.

Em setembro de 2026 o site público foi refeito do zero em React sobre o mesmo back-end, com uma identidade nova que parte da anterior: fundo marfim, preto, rosé só onde o olho deve ir e títulos pesados com o destaque em itálico. O site antigo segue disponível em outro endereço, pronto para voltar se for preciso.

Paleta

  • Marfim#faf6f2
  • Blush#fbe8ef
  • Noir#151213
  • Rosé#e83e8c
  • Rosé profundo#b52f6c

Tipografia

Instrument Sans em cada detalhe.

Seções do construtor

  • Hero
  • Introdução
  • Destaque
  • Serviços
  • Em destaque
  • Diferenciais
  • Passos
  • Resultados
  • Galeria
  • Instagram
  • Depoimentos
  • Sobre
  • História
  • Visita
  • Perguntas
  • Artigos
  • Faixa rolante
  • Chamada
  • Texto
Construtor de páginas
Sete modelos de página com a ordem das seções já pensada. A dona liga e desliga seções, troca textos e fotos e vê o resultado ao vivo, ao lado do formulário, antes de salvar.
Dois idiomas de verdade
Português e espanhol com prefixo próprio e as palavras do endereço traduzidas. Um endereço no idioma errado é redirecionado, e os links do site antigo levam para o lugar certo.
SEO desde o servidor
Título, descrição, imagem de compartilhamento, canonical e hreflang saem prontos do servidor, sem depender do JavaScript, com dados estruturados de serviço, oferta e perguntas frequentes e um sitemap por idioma.
Acessibilidade e privacidade
Painel com três tamanhos de texto, alto contraste, menos animação e links destacados, aplicado antes da primeira pintura. Consentimento de cookies com versão e páginas de erro com a cara do site.

Arquitetura e qualidade

  • Domínio em camadas

    Agenda, carrinho, pedidos, promoções, notificações e métricas vivem em módulos de domínio, com DTOs e repositórios. O painel e o site são camadas finas por cima.

  • Pedido transacional

    O pedido confere os serviços e o horário de novo e cria o atendimento, os itens e o uso das promoções em uma única transação.

  • Filas

    Sincronização com o Google, lembretes e envios rodam em fila, com novas tentativas e disparo só depois que o banco confirma a mudança.

  • Testes

    149 testes cobrindo a sincronização de horários ocupados, a conexão com o Google, os bloqueios recorrentes, as métricas e as páginas do site.

  • Uma imagem, três processos

    Imagem Docker única com FrankenPHP rodando como web, fila e monitoramento, segredos injetados na inicialização e arquivos em armazenamento compatível com S3.

  • Olho na produção

    Pulse, rastreamento de erros, visualizador de logs e monitor de filas dentro do próprio painel, e comandos para inspecionar os eventos do Google.

Linha do tempo

  1. Abril 2026

    O primeiro site no ar

    Em nove dias: catálogo com adicionais, carrinho, pedidos, painel, tempo real, publicações do Instagram, o link de acompanhamento e o primeiro deploy.

  2. Maio 2026

    Mensagens e operação

    Notificações por e-mail e no site, depois WhatsApp; descontos, SEO configurável, papéis de acesso, monitoramento de erros e detecção de fuso horário.

  3. Junho e julho

    Infraestrutura e Google Agenda

    Imagem com FrankenPHP, segredos, armazenamento S3 e publicação automatizada; a primeira sincronização com o Google Agenda e as imagens do Instagram guardadas no site.

  4. Agosto e setembro

    Profundidade e o site novo

    Edição de atendimentos, confirmação, cupons, SMS, bloqueios, cores, métricas de faturamento e os ocupados do Google no painel. O site novo entrou no ar em 18 de setembro.

Telas

  • Página inicial no celular.
    Página inicial no celular.
  • Serviço com a galeria de fotos no celular.
    Serviço com a galeria de fotos no celular.
  • Escolha do horário no celular.
    Escolha do horário no celular.

Capturas do site feitas por mim. A marca, as fotos e o estúdio pertencem à Nails by Ivyy.

Resultado

O estúdio agenda pelo site desde abril de 2026 e, em setembro, ganhou um site novo. Pedidos, agenda e Google Agenda vivem no mesmo lugar, e o site é editado no painel.

Contato

Tem um projeto em mente?

Conte o que você precisa. Respondo em até dois dias úteis.

contato@alysson-thoaldo.com.br