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.

Papel
Idealizador, Tech Lead e Desenvolvedor principal
Período
2026 — em desenvolvimento
Plataformas
App Android/iOS, painel web e API
Stack
Java · Spring Boot · Flutter · Next.js · PostgreSQL

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á.

ContrataçãoHoje: Por indicação, sem verificar documentaçãoVanep: Motoristas com documentos validados e avaliações
ContratosHoje: Em papel, sem padrão nem históricoVanep: Contrato digital versionado, com partes e datas registradas
PagamentosHoje: Dinheiro ou transferência, cobrados manualmenteVanep: Mensalidades centralizadas, com histórico e controle de inadimplência
AcompanhamentoHoje: Inexistente — os pais não sabem onde está a vanVanep: Localização em tempo real e notificação a cada etapa
ComunicaçãoHoje: Grupos de WhatsApp sem registroVanep: Chat e notificações dentro da plataforma
Gestão do motoristaHoje: Rotas, presença e finanças no cadernoVanep: Rotas, checklist, documentos e financeiro em um painel

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.

  1. 1Embarque em casa“Ana embarcou às 06:52.”
  2. 2Chegada na escola“Ana chegou à escola às 07:18.”
  3. 3Embarque na volta“Ana embarcou às 12:05.”
  4. 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.

P1Ajuste manual do diaStatus definido pelo motorista
P2Ação na rota (rota iniciada + fase do checklist)Em rota · A caminho do aluno · Levando o aluno para casa
P3Expediente configurado (dias e horários)Disponível · Fora do expediente

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.

APIJava 25 · Spring Boot 4

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.

App mobileFlutter (Dart)

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.

Painel administrativoNext.js · TypeScript

Uso interno: gestão de usuários, aprovação de documentos e monitoramento. Tailwind CSS e testes com Vitest.

DadosPostgreSQL + PostGIS

Banco único com separação lógica por domínio e extensão geoespacial para busca por região, rotas e tracking.

Tempo realWebSocket + Redis Pub/Sub

Localização da van e chat. O Redis distribui os eventos entre instâncias, para a API escalar horizontalmente sem estado.

NotificaçõesFirebase Cloud Messaging

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.