Plataforma de Federação Esportiva Nacional
Rolar ↓

via OPTEN AG · Mar — Mai 2026

Plataforma de Federação Esportiva Nacional.

Cliente
via OPTEN AG
Papel
Engenharia frontend
Stack
Umbraco 17 · .NET 10 · HTMX · SCSS
Período
Mar — Mai 2026

Uma federação esportiva nacional mantém uma plataforma pública grande: páginas editoriais, informações de clubes e ligas, e um Game Center onde os torcedores acompanham tabela, resultados, classificação, escalações e estatísticas de jogadores durante a temporada. Trabalho no redesign como frontend engineer — um design é aprovado no Figma, e precisa virar software real, acessível, rápido e de fácil manutenção.

Meu papel

Leio o arquivo aprovado no Figma de perto — espaçamento, tipografia, tokens, estados, movimento — e construo como frontend engineer: markup, SCSS, comportamento em TypeScript, renderizado dentro de views server-side. Game Center, classificação ao vivo com alternância casa/fora, calendários de times e views de playoff, o buscador de clubes, estatísticas de jogadores e de times. Quando um layout quebraria com dados reais — nomes de clube longos, escudos faltando, jogos adiados — resolvo no espírito do design, como parte da construção.

Carrossel Nationalteams em movimento — um dos módulos, do Figma aprovado ao markup em produção

Como é construído

Umbraco v17 sobre .NET 10; os editores compõem páginas a partir de módulos Block Grid, cada um uma view Razor fortemente tipada. O frontend é TypeScript e SCSS vanilla — sem framework SPA — com nomenclatura BEMIT sobre design tokens como CSS custom properties. A interatividade é progressive enhancement com HTMX: filtros, busca e paginação trocam partials renderizados no lugar, então as páginas continuam funcionando e seguem compartilháveis. Os dados de jogo ao vivo chegam por SignalR.

Resultados & tabela — filtros e ordenação em HTMX sobre partials renderizados no servidor
Resultados & tabela — filtros e ordenação em HTMX sobre partials renderizados no servidor

Acessibilidade como engenharia

Estados de foco, ordem de tabulação, ARIA e contraste real não estão no arquivo do Figma — são decisões de engenharia que tomo enquanto construo, verificadas contra a WCAG.

Buscador de clubes — cards navegáveis por teclado, contraste verificado contra a WCAG
Buscador de clubes — cards navegáveis por teclado, contraste verificado contra a WCAG

Detalhes, exercitados

Módulos como o slider de patrocinadores vão pro ar com um harness: o componente montado isolado e exercitado nos seus estados do mundo real — quantidade de patrocinadores, larguras de container, breakpoints — para que o comportamento seja verificado antes de chegar a qualquer página.

Harness do slider de patrocinadores — o módulo exercitado estado a estado antes de ir pro ar

Seguro para publicar

Toda mudança passa por plano → execução → revisão. Um hook de pre-push faz o build da solução e roda os testes unitários; uma suíte ponta a ponta em Playwright exercita os fluxos do Game Center contra o deploy de preview do pull request antes de qualquer merge.

Módulo de contagem regressiva ao vivo — exercitado ponta a ponta com Playwright antes do merge
Módulo de contagem regressiva ao vivo — exercitado ponta a ponta com Playwright antes do merge
O Game Center na mão do torcedor — tabela, playoffs e locais de jogo

Um redesign em andamento, entregue feature a feature: designs aprovados viraram componentes testados e acessíveis, feitos para aguentar dados de jogo ao vivo — com um documento de convenções de frontend que o time usa como base.