Pitch: Abri o código do Crow Docs: 30+ ferramentas para PDF que rodam 100% no navegador
Acabei de tornar público o repositório do Crow Docs (https://crowdocs.com.br) — um PWA gratuito com ferramentas para PDF que processa tudo no navegador.
Código no GitHub:
https://github.com/caaaiobaaa/crow-docs (MIT)
O que é
Single-page app + Service Worker que faz no seu device:
- Juntar/dividir/comprimir/numerar/rodar/recortar PDFs
- Converter de e para Word, Excel, PowerPoint, JPG, HTML
- OCR (Tesseract.js) com modo avançado (OpenCV.js: deskew, CLAHE, denoise, binarização adaptativa)
- PDF Pesquisável (camada OCR invisível em PDFs escaneados)
- Extração de dados estruturados (CPF, CNPJ, CEP, datas, telefones, valores) via regex pós-OCR
- Análise de layout (heurística + projection profiles → tabelas em Markdown)
- Tradução, comparação, censura (redact), assinatura, formulários
- Gerador de currículo, MD → Slides, Vídeo → PDF, PDF → Áudio (TTS do browser)
Stack
Vanilla JS (~14k LOC), zero build step, zero dependências de runtime externas. Tudo bundled em /libs:
- pdf.js + pdf-lib + jsPDF (manipulação de PDF)
- Tesseract.js + OpenCV.js (OCR)
- docx + mammoth + xlsx (Office)
- JSZip, html2canvas, marked, qrcode
Service Worker com network-first pro shell + cache-first pra libs versionadas. Banner de auto-update via SKIP_WAITING. Deploy automatizado em Cloudflare Pages (script deploy.js que bumpa versão em 4 lugares e dispara wrangler).
Modelo de privacidade
- Sem backend. Domínio é estático no Cloudflare Pages.
- Nenhum arquivo seu trafega pela rede.
- LocalStorage só guarda tema, idioma e versão do app.
- Sem trackers, sem ads, sem CDN externa em runtime.
- CSP restritivo. Código auditável (Ctrl+U na página viva, ou agora no GitHub).
Trade-offs honestos
- Performance: Tesseract WASM é ~3-5× mais lento que OCR nativo de servidor. Para 1-20 páginas é aceitável. Para 500+ páginas eu recomendo desktop (OCRmyPDF local).
- Carga inicial: modo OCR avançado baixa OpenCV (~9MB) + LSTM model (~13MB) na primeira vez. Depois fica em cache do SW.
- Memória: processa página por página em PDFs grandes pra não estourar RAM.
Status
- 30+ ferramentas funcionais
- Versão atual: v32 (CHANGELOG no repo)
- PT/EN
- ~62MB de libs auto-hospedadas
- Issues, PRs e críticas técnicas: super bem-vindas
Se você é dev brasileiro que processa documentos públicos, NF-e, currículos, provas escaneadas — ou só não quer que seu PDF passe por servidor de terceiro — testa lá e me conta o que quebra.
crowdocs.com.br — versão de produção
github.com/caaaiobaaa/crow-docs — código
Aceito issues, PRs e críticas técnicas (foi uma crítica boa que me empurrou a abrir o código, então obrigado a quem reclamou).