Viert Atelier
Sistema Viert — A produção e o atendimento do ateliê em um só lugar
Depois do site, o sistema por trás da operação do Viert Atelier: uma agenda que planeja e replaneja a produção de cada vestido, um app onde a equipe atende, vende e fecha contrato, e o WhatsApp ligado a tudo isso. Fica atrás de login. É ferramenta de trabalho, não vitrine.

- 4 + 1
- 30 min
- 2
Problema.
Um ateliê de vestidos de noiva e festa trabalha sob medida: cada peça passa por mais de dez etapas, com costureiras, bordado, provas e fornecedores externos, e uma data de entrega que não anda. Qualquer atraso desarruma o resto, e replanejar isso à mão é o tipo de tarefa que consome o dia de quem coordena. Ao mesmo tempo, atendimento, venda e produção rodavam em ferramentas separadas.
Solução.
Um monorepo com a agenda da produção, o app da equipe, o motor de agendamento que os dois compartilham e os sites do ateliê. A agenda calcula quem faz o quê e quando, priorizando o projeto com menos folga. O app da equipe cuida da pré-venda (chat, CRM, catálogo), da venda (pedidos, contratos, integrações) e da fábrica. Os dois usam login único e conversam por API.
Resultado.
A agenda da produção está no ar desde 14 de setembro de 2026, com deploy automático, backup diário e cópia externa. O app da equipe, o módulo de venda e as integrações entraram no mesmo repositório e evoluem a partir dos pedidos da Direção e do coordenador da produção.
A parte difícil.
Todo projeto tem um ponto em que a solução óbvia não serve. Aqui foram estes.
Um motor que é função, não serviço
O agendamento é uma função pura: recebe o estado completo (projetos, recursos, calendário, indisponibilidades) e devolve a agenda proposta, a ordem dos projetos e o motivo de cada escolha. Não lê banco nem relógio, então o mesmo cenário dá sempre o mesmo resultado e roda em teste sem infraestrutura. A prévia roda o motor sobre uma foto do estado e só grava quando o coordenador confirma. A agenda trabalha em relógio de parede, em minutos inteiros e grade de 30 minutos, sem fuso horário no núcleo.
Replanejar sem desfazer o que a pessoa decidiu
Cada projeto é priorizado pela folga (prazo disponível menos o trabalho que falta), e todo evento dispara um recálculo completo. O problema é que a coordenação também mexe na mão: trava um horário, trava um dia inteiro de uma pessoa, move uma prova. Essas decisões precisam sobreviver ao recálculo, puxar as predecessoras para antes delas e mostrar quando a entrega passa do prazo, apontando a etapa que determina o atraso. Dependência em ciclo é recusada na hora, em vez de virar tela de erro.
Fornecedores externos não têm agenda por hora
O beneficiamento sai para fornecedores de fora, que trabalham por prazo: têm dia de envio, dia de recebimento, um limite de peças ao mesmo tempo e um teto semanal. Sem esses limites o motor mandava quantas tarefas fossem para o mesmo fornecedor. Eles viraram regra de cadastro e entram na alocação como entram os horários dos recursos internos.
Testes que carregam as regras do cliente
Os exemplos do próprio documento de requisitos viraram testes de cenário, com o relatório em texto aprovado como referência: se o comportamento muda, a mudança precisa ser consciente. Testes de propriedade, com cenários aleatórios, checam invariantes, e um teste de desempenho limita o tempo para 100 projetos, 14 etapas e 15 recursos. O app roda a suíte de integração contra um Postgres embutido, sem Docker.
IA que lê a foto, mas não decide sozinha
O catálogo veio de planilha, com muita ficha cadastral marcada para revisão. A IA lê as fotos de cada modelo e aponta divergências com a ficha, separando o que está visível, o que está ausente, o que a foto não permite avaliar e o que é apenas provável. Quem traduz a leitura para os critérios oficiais do catálogo é código, não a IA. Cada correção aplicada guarda o valor anterior e o autor, e pode ser desfeita, individualmente ou em lote.
Dois números de WhatsApp com regras da Meta no meio
A cliente conversa com a pré-venda por um número e passa para a venda em outro. Pelo número da pré-venda, a janela de 24 horas está aberta e o aviso sai como texto livre. Pelo da venda, a cliente nunca escreveu, e a Meta só aceita um modelo de mensagem aprovado. O texto do modelo é editável: mudar o texto cria uma versão nova, que passa de novo pela aprovação, e até lá sai a última versão aprovada. A passagem fica desligada até a Direção ligar.
O que eu fiz.
- Levantamento das regras de produção com o ateliê, registrado em documento de requisitos e em uma lista de dúvidas de negócio respondidas aos poucos
- Motor de agendamento em TypeScript puro, com testes unitários, de cenário, de propriedade e de desempenho
- Agenda da produção: projetos, etapas, recursos, prévia do recálculo, tarefas travadas, provas e fornecedores externos
- App da equipe: pré-venda com CRM e catálogo, venda com pedidos e contratos assinados pelo ZapSign, integrações com Bling (OAuth) e Google Drive
- WhatsApp com dois números e passagem automática da conversa da pré-venda para a venda
- Consolidação de repositórios soltos em um monorepo, com deploy automático, backup diário e cópia externa
Stack.
Quer algo parecido?
Este projeto é do tipo desenvolvimento de sistemas sob medida. A partir de R$ 9.900 + R$ 490/mês. Me conta o que você precisa e respondo pessoalmente. Se preferir escrever, use o formulário.
Para ler.
Artigos em que este projeto aparece como exemplo.