Vanep
A digitalização da van escolar em um só aplicativo. Tudo o que hoje acontece por indicação, no grupo de WhatsApp e no contrato de papel passa a caber no celular: motoristas verificados, contrato digital, a van no mapa em tempo real e um aviso a cada etapa do trajeto.
Idealizei o produto, sou o desenvolvedor principal e lidero as decisões técnicas — arquitetura, stack, infraestrutura e deploy — em paralelo ao meu trabalho como Software Engineer.
Um mercado inteiro operando na informalidade
O transporte escolar no Brasil funciona por indicação, grupos de WhatsApp, contratos em papel e cobrança manual. Não há verificação de quem dirige, registro do que foi combinado nem forma de saber onde a van está.
Um produto, dois lados do mercado
Para o responsável
- Encontrar motoristas verificados perto da escola
- Enviar proposta com endereços, horários e valor
- Contratar com contrato digital
- Ver a van no mapa durante a rota
- Receber aviso de embarque e chegada
- Avisar com um toque que o aluno não vai hoje
Para o motorista
- Ser encontrado por novos clientes na busca
- Gerenciar alunos, turnos e contratos em um só lugar
- Reduzir a inadimplência com cobrança recorrente
- Montar a rota e navegar pelo Waze ou Google Maps
- Receber alertas antes de os documentos vencerem
- Convidar um assistente para ajudar no checklist
O que a plataforma faz
Busca e propostas
Busca de transportadores por região e escola. O responsável envia uma proposta com endereços, horários e valor; o motorista aceita ou recusa.
Contrato digital
Gerado automaticamente após o aceite, vinculando aluno e motorista, com ciclo de vida próprio e histórico de versões.
Gestão financeira
Mensalidades, histórico de pagamentos e total a receber, substituindo a cobrança manual para os dois lados.
Rotas e navegação
O motorista monta e reordena as paradas; a navegação abre no Waze, Google Maps ou Apple Maps via deep link, sem custo de API de rotas.
Gestão documental
Cadastro e validação de CNH, CRLV e demais documentos, com alertas antes do vencimento e bloqueio de novas contratações se algo vencer.
Assistente da van
Assistentes convidados ajudam no checklist, com vínculo N:N entre assistentes e vans e permissões restritas.
Checklist de rota e status automático
O centro da operação diária. Cada aluno passa por até quatro fases; o motorista confirma cada uma com um toque — ou em lote, quando vários alunos embarcam na mesma parada — e o responsável é notificado na hora. Contratos só de ida têm as duas primeiras fases.
- 1Embarque em casa“Ana embarcou às 06:52.”
- 2Chegada na escola“Ana chegou à escola às 07:18.”
- 3Embarque na volta“Ana embarcou às 12:05.”
- 4Chegada em casa“Ana chegou em casa às 12:34.”
Status do motorista, sem input manual
O status que aparece na busca e para os clientes é derivado pelo sistema a partir de três camadas de prioridade. O motorista não precisa lembrar de atualizar nada durante a rota.
Como o sistema é dividido
Defini a stack e a arquitetura do zero, em repositórios separados para API, app e painel. Cada camada evolui no seu ritmo, e um banco único, organizado por domínio, permite crescer sem acoplamento excessivo.
Regras de negócio, contratos, financeiro, documentos e notificações. Spring Security com JWT e OAuth 2.0, JPA, migrações com Flyway e documentação OpenAPI.
Um app para responsáveis, motoristas e assistentes, em Android e iOS. Estado com BLoC, HTTP com Dio, cache local com Hive e armazenamento seguro de tokens.
Uso interno: gestão de usuários, aprovação de documentos e monitoramento. Tailwind CSS e testes com Vitest.
Banco único com separação lógica por domínio e extensão geoespacial para busca por região, rotas e tracking.
Localização da van e chat. O Redis distribui os eventos entre instâncias, para a API escalar horizontalmente sem estado.
Push para Android e iOS a cada fase do checklist, com notificações in-app como fallback.
Decisões e práticas
Pacotes por funcionalidade
Cada feature (client, contract, driver…) tem seus próprios controller, service, repository, dto, mapper e entity. O que é compartilhado vai para uma área comum, em vez de ser duplicado.
Constitution por repositório
Cada repo tem um documento com as regras obrigatórias de arquitetura, nomenclatura e Clean Code, que vale para pessoas e para agentes de IA.
Specs antes do código
Mudanças relevantes começam como proposta e especificação versionada (OpenSpec), revisadas antes da implementação.
Qualidade no CI
Formatação com Spotless (Google Java Format) verificada no build, testes de integração com H2 em memória e imagem Docker para deploy.
Segurança e LGPD
Access token curto com refresh token rotativo, dados sensíveis criptografados, localização do motorista descartada ao fim da rota e avaliações sem vínculo com quem avaliou.
Ambiente reproduzível
Docker Compose com PostgreSQL e Mailpit, Makefile com atalhos e geração automática do .env de desenvolvimento.
Além de um catálogo de motoristas
A busca é só a porta de entrada. O objetivo de longo prazo é ser o sistema operacional do transporte escolar — ERP, CRM, contratos, financeiro e rotas em um só lugar para quem vive dessa atividade.