Pipeline de conversão de arquivo para um visualizador estático de conversa

Prévia

Conversa carregada por chunks

Maya

O export tem 8,7 GB. Posso subir esse ZIP aqui?

14:31

Não use upload no navegador. Rode o conversor localmente para manter o ZIP no disco e carregar só os chunks necessários no visualizador.

14:32
🔒
manifest.json + data/messages-00000.json gerados…

A rolagem virtual mantém o DOM pequeno mesmo quando a conversa tem milhões de linhas.

14:34

Comando seguro

Converta localmente, sirva como estático.

node tools/convert-whatsapp-export.mjs \
  --zip ./Exportacao-WhatsApp.zip \
  --output ./visualizador \
  --main-sender "Seu Nome" \
  --chunk-size 1000 \
  --media-policy copy

A pasta gerada é autocontida: index.html, manifest.json, chunks em data/ e mídias opcionais copiadas em media/.

Conversão local primeiro

O navegador nunca recebe o ZIP de 10 GB. Um script Node extrai o texto da conversa e as mídias a partir do armazenamento local.

Mensagens em chunks

O conversor grava manifest.json e arquivos de mensagens em partes, evitando um único JSON gigantesco.

Rolagem virtual

Apenas as linhas visíveis ficam montadas no DOM, preservando a leitura responsiva de arquivos longos.

Busca responsável

A busca começa pelos chunks carregados e oferece indexação completa apenas como uma ação explícita.

Arquitetura

Um visualizador estático que não finge que o navegador é um processador de ZIP.

Entrada

O export .zip do WhatsApp permanece na máquina do usuário.

Conversor

Lê o _chat.txt linha por linha, grava JSON estático em chunks e copia ou ignora mídias conforme a política escolhida.

Manifesto

Armazena contagens, participantes, caminhos dos chunks, política de mídia e avisos para exports grandes.

Visualizador

Carrega o manifesto primeiro e depois busca apenas os chunks próximos à posição atual da rolagem.

Regras de UX responsável

A interface evita um convite enganoso para “enviar seu ZIP” quando os arquivos são enormes. Em vez disso, explica por que a conversão local é mais segura, avisa quando a cópia de mídias pode aumentar o uso de disco e torna a indexação completa da busca uma escolha explícita, não um pico oculto de memória.

Cartões de prévia de anexos de mídia