Eventos Científicos
Uma plataforma para eventos científicos com mais de 100 mil participantes - credenciamento on-site, atribuição de DOI a artigos e anais, e um front-end que precisava ser rápido tanto na fila do evento quanto no navegador de quem submete trabalho.
Evento científico junta multidão na porta e rigor de metadados no backend.
Receber mais de 100 mil participantes significa dois problemas que não conversam. No on-site, é credenciamento: ler o QR do participante, conferir e imprimir crachá em segundos, porque atrás dele tem fila. No backend, é catálogo científico: cada artigo e cada anais precisa de um DOI com metadados corretos, depositado em uma agência registradora como Crossref ou DataCite.
A base já existia e tinha crescido em JavaScript puro. O front-end carregava tudo de uma vez e o load time pesava - especialmente ruim num produto que precisa ser ágil na fila do credenciamento.
Engenheiro full-stack com peso no front-end, responsável pela migração para TS e pelo trabalho de performance.
- - Liderei a migração incremental de JavaScript para TypeScript em uma base grande, sem parar a entrega de produto.
- - Conduzi o trabalho de performance no front-end: code splitting, redução de bundle e caching que cortaram ~40% do load time.
- - Implementei e mantive os fluxos de DOI - montagem de metadados e depósito em agência registradora para artigos e anais.
- - Cobri os fluxos críticos com testes end-to-end em Cypress, incluindo o caminho de credenciamento on-site.
Entender o evento como operação física, não só como software.
Credenciamento on-site tem fila, impressora de crachá e gente esperando. O sistema precisa ler o QR e liberar o participante em segundos, não em segundos e meio.
Tratar DOI como um contrato com metadados, não como um campo de texto.
Atribuir DOI a artigos e anais significa montar metadados no formato certo e depositar em agência registradora (Crossref / DataCite). Se o metadado está errado, o identificador nasce quebrado.
Atacar performance medindo, não no chute.
Bundle grande, tudo carregado de uma vez. Code splitting por rota, redução de bundle e caching cortaram o load time em cerca de 40% - validado com medição, não com sensação.
Migrar JavaScript para TypeScript de forma incremental.
Nada de big bang. Migração arquivo a arquivo, tipando as fronteiras primeiro, com o build verde a cada passo - o time continuou entregando feature enquanto a base ficava tipada.
Plataforma usada por 100K+ participantes ficou mais rápida no navegador, mais previsível no código e confiável nos fluxos de credenciamento e de DOI.
- - Migração para TypeScript reduziu uma classe inteira de bugs de runtime e deixou refactors grandes muito menos assustadores.
- - Redução de ~40% no load time melhorou a percepção de velocidade num produto usado por 100K+ participantes.
- - Fluxos de DOI passaram a gerar identificadores com metadados consistentes, sem retrabalho manual de correção.
- - Suíte E2E em Cypress virou rede de segurança real: regressões no credenciamento e nos fluxos de DOI passaram a ser pegas antes de chegar em produção.