Contexto
A Arquivei, depois renomeada Qive, extrai e estrutura documentos fiscais para empresas. Atuei em três contextos ao longo de quatro anos: Projetos Customizados (2021–2022) com soluções de front-end sob medida para clientes enterprise, Professional Services (2023–2024) construindo integrações e features sob medida para o mesmo tipo de cliente, e o time de Ingestão (2024–2025) no módulo NFSe.
A escala é a restrição que define tudo: um front-end que lista, filtra e valida documentos sobre um conjunto de dados medido em bilhões por ano não pode tratar uma consulta como gratuita.
Problema
- Clientes enterprise precisam encontrar documentos específicos dentro de um conjunto de dados grande demais para navegar.
- A UI tem que continuar responsiva e honesta sobre o que está mostrando: o usuário toma decisões fiscais a partir dela.
- Exigências específicas de enterprise tendem a ser particulares de cada cliente, o que pressiona contra um produto e um design system compartilhados.
- Autenticação e controle de acesso passam pela camada de identidade da plataforma (Keycloak).
Minha responsabilidade
Engenharia de front-end no módulo NFSe: interfaces e fluxos sobre a API existente, dentro dos padrões, do design system e do gerenciamento de estado já estabelecidos da plataforma. Antes disso, construí e mantive integrações e soluções de front-end sob medida para clientes enterprise.
Como eu abordei
Consistência primeiro: o módulo já tinha convenções para componentes, estado e tratamento de erro, então o trabalho novo seguia essas convenções em vez de introduzir um estilo paralelo. Em listas sobre grandes volumes, a pergunta importante é o que o cliente realmente precisa receber: paginação e filtro pertencem ao servidor, e o trabalho do cliente é renderizar de forma previsível e aplicar debounce no que o usuário digita. Problemas em produção eram diagnosticados por rastreamento de erro e dashboards em vez de achismo, e as mudanças entravam pelo pipeline de CI/CD em contêineres da plataforma.
Desafios
- Construir interfaces sobre um conjunto de bilhões de documentos por ano sem fingir que o cliente consegue carregá-lo.
- Atender necessidades específicas de enterprise mantendo o produto coerente para todo o resto.
- Trabalhar em um código com anos de história e vários times: ler antes de escrever é uma habilidade de sobrevivência.
Decisões e trade-offs
- Seguir o design system e os padrões de estado existentes. Trade-off: algumas telas ficam menos ótimas do que uma solução sob medida seria; em troca, o código continua aprendível entre os times.
- Trabalho específico de cliente mantido separado do caminho do produto. Trade-off: duplicação em alguns pontos, mas o produto compartilhado nunca carrega permanentemente a exceção de um cliente.
- Paginação e filtro no servidor em vez da conveniência no cliente. Trade-off: mais idas e voltas e uma UI que precisa tratar estados de carregamento direito, mas um cliente que não colapsa com o volume.
Resultado
Quatro anos de entrega contínua dentro de um produto dessa escala, e proficiência em um domínio que pune imprecisão.
O que aprendi
- Escala muda o design de interface: o que parece pergunta de UI muitas vezes é pergunta de formato de consulta.
- Conhecimento de domínio (um documento fiscal não é um registro genérico) é o que faz as decisões de front-end corretas.
- Códigos de vida longa recompensam convenção acima de esperteza.