Cara, primeiramente quero te dar os parabéns pelo projeto! Eu nem acompanho esportes com muita regularidade e já passei por essa dor de não saber onde vai passar (aliás, talvez tenha sido piorado por eu não estar acostumado a lidar com isso).
Acredito que o front-end tem pontos de possível melhoria no SEO, que imagino que é um ponto que se você quiser monetizar é algo que você vai querer investir um tempinho. Mas não rodei Lighthouse nem nada, só comentando com base no meu olhar de quem já teve que resolver alguns pepinos com isso.
Nunca mexi com Elixir, então não sei exatamente como seria a implementação para resolver esses problemas, porém acredito que a maioria das coisas volta para ajustes no CSS e HTML. Mas aí vai algumas coisas que eu vi:
-
Flashes of unstyled text (FOUT):
- O problema: O texto é renderizado pela primeira vez com uma fonte fallback e logo em seguida, assim que a fonte real é carregada, é trocada. Isso causa uma leve deteoração da UX e tem capacidade de causar layout shift.
- Solução: Realizar o preload da fonte principal do site (https://namastedev.com/blog/how-to-eliminate-flash-of-unstyled-text-fout-with-preload/).
- Prioridade: Baixa (no momento)
-
Layout shift causado por imagens:
- O problema: O site deixa para carregar imagens (por exemplo, os escudos dos times) apenas após o primeiro carregamento. Isso causa um pequeno layout shift assim que elas são carregadas.
- A solução: Você pode optar por pré-carregar as imagens caso elas não sejam muito pesadas, assim a primeira visão do site já contará com elas. Outra opção é reservar o espaço delas com HTML e CSS (a div que contém a imagem já possuir altura e largura definida faz isso), eliminando o layout shift quando elas aparecerem.
- Prioridade: Alta (solução pode ser simples e causar impacto perceptível)
Por enquanto, acho que é só. Boa sorte aí e sucesso!