O problema
Quem se candidata a várias vagas preenche os mesmos campos o tempo todo: nome, e-mail, experiência, carta de apresentação, pretensão salarial. Ao longo de dezenas de candidaturas, isso vira horas.

O que faz
O ShortApply é uma extensão do Chrome que usa o Claude para preencher formulários de candidatura com base no seu currículo, e transforma minutos em segundos.
- Cmd+Shift+F lê todos os campos visíveis e preenche de uma vez.
- Cmd+Shift+U preenche só o campo selecionado.
- Funciona com campos de texto, áreas de texto e listas de opções.
- Preenche na hora e mostra uma barra para desfazer ou editar antes de confirmar.
- Funciona no LinkedIn, Greenhouse, Lever, Workday e outras plataformas.

Como foi construído
Extensão Manifest V3 em JavaScript puro, usando a API da Anthropic (Claude Haiku). As decisões que mais pesaram:
- Segurança da chave: a API key e o currículo só são lidos dentro do service worker, nunca pela página, o que impede vazamento por scripts de terceiros.
- Custo baixo: o currículo fica em cache no prompt, então chamadas seguidas numa janela de 5 minutos custam cerca de 10% dos tokens de entrada.
- Uma chamada só: todos os campos vão num único pedido estruturado, e a resposta volta como uma lista em JSON.
- Proteção contra prompt injection: cada pedido instrui o modelo a ignorar instruções escondidas na página.
- Compatível com React, Vue e Angular, disparando os eventos que esses frameworks esperam.
- Três idiomas: português, inglês e espanhol, com troca na hora.
O que aprendi
Uma extensão que lida com qualquer formulário da internet obriga a pensar em confiabilidade. Só para descobrir o rótulo de cada campo, precisei de cinco estratégias em sequência. Para a IA escolher bem uma opção numa lista, tive que numerar as opções e pedir só o número de volta. E o fato de o service worker do MV3 ser encerrado entre eventos virou uma vantagem, porque não sobra estado guardado para vazar.