Primeiro: você está certo Sua aplicação não precisa de backend. Só precisa de um lugar pra salvar. Isso é diferente.
Não tem "lógica de negócio no servidor". O servidor é um HD glorificado.
O insight real: Local-First
A pergunta certa não é "frontend ou backend?"
A pergunta certa é: "Minha aplicação funciona sem internet?"
Se a resposta é não, seu design está quebrado. Pra um editor de documentos, isso é inaceitável. Imagina: você tá no avião, quer editar um documento, e... "Conectando ao servidor..."
O melhor design (provavelmente)
[Core via WASM] ← eventos de mouse/teclado + canvas ← [JS mínimo no browser]
Prós:
- JS só faz o que JS faz bem: UI
Sobre pirataria
Ninguém vai piratear.
Sabe por quê? Porque existem 500 alternativas gratuitas. Se alguém é técnico o suficiente pra piratear seu JS, é técnico o suficiente pra usar qualquer alternativa open-source melhor.
As pessoas pagam por:
- Conveniência
- Suporte
- Não ter que pensar
O código em si não vale nada. O produto vale.
Minha sugestão
Fase 1: TypeScript + Service Workers + IndexedDB
- Funciona offline e salva em qualquer backend burro (até um s3 resolve)
Fase 2: Se precisar de performance ou "esconder" segredos
- Considere WASM pra partes críticas
Fase 3: Se precisar de colaboração real-time
- Aí sim, adicione um "backend"..
TL;DR
Sua intuição está certa. Frontend-first. Salva no servidor. Acabou.