← Todos os projetos
08Produto próprio · 2026

Desco Languages.

Estudo de inglês com áudio transcrito palavra por palavra e flashcards que tocam a voz original.

Transcrição por palavraRepetição espaçada SM-2Bundle 85% menor
Painel do aluno no Desco, com nível, XP, sequência e a trilha Fundamentos, Essencial e Intermediário

O problema

Ouvir uma faixa de áudio do começo ao fim ensina pouco. O aluno precisa ver o texto, repetir um trecho, ouvir mais devagar e revisar o vocabulário na hora certa. E o material só pode chegar a quem foi convidado.

O que construí

Construí a plataforma e o pipeline de conteúdo. São 249 faixas transcritas com Whisper rodando local, com o tempo de cada palavra. No áudio, o aluno tem transcrição clicável, ditado, loop A-B e velocidade de 0,75×. Os 1.049 flashcards usam SM-2 e tocam a palavra recortada do áudio original. Há 7 tipos de exercício com correção tolerante, XP, níveis, sequência, 12 conquistas e heatmap de atividade. O feedback de escrita com Claude é opcional. Tudo roda em Docker com Caddy e backup diário.

Decisões técnicas

  1. 01Transcrição local, palavra por palavra

    As 249 faixas passaram por Whisper rodando local com MLX, que devolve o tempo de cada palavra. Não há custo por minuto de áudio e o material não sai da máquina. É o tempo por palavra que deixa a transcrição clicável e permite que o flashcard toque só aquela palavra.

  2. 02Conteúdo fica no servidor

    O conteúdo ia dentro do JavaScript da página. Passei tudo para o servidor, e o JS caiu de 1,86 MB para 283 KB. A página carrega mais rápido, e quem abre o código dela não leva o material junto.

  3. 03Áudio só com sessão, e com Range

    Os arquivos de áudio passam pelo servidor, que confere a sessão antes de entregar e responde a requisições Range. Sem Range, o player não consegue pular para o meio da faixa nem repetir um trecho. Sem sessão, um link vazado tocaria para qualquer um. O id do usuário também vem só da sessão, nunca do que o navegador manda.

Números

249

faixas de áudio transcritas

1.049

flashcards

Stack

  • TanStack Start
  • React 19
  • Vite 8
  • Nitro
  • Tailwind 4
  • shadcn/ui
  • Better Auth
  • node:sqlite
  • Whisper
  • Docker
  • Caddy

Telas

Flashcard de revisão com botão de ouvir e as notas Errei, Difícil, Bom e Fácil
Próximo case

Team Desk