Cloud Clipboard: sincronizando texto em tempo real entre dispositivos

seg., 12 de agosto de 2024 - 2 min read

Entre notebooks da faculdade, desktop e laboratório, copiar e colar textos virou um caos. Para resolver, construí o Cloud Clipboard, um serviço privado que sincroniza texto instantaneamente em qualquer dispositivo conectado.

Stack

  • Backend: FastAPI com endpoints REST e WebSockets (gerenciando sala única e histórico).
  • Frontend: Vanilla JS com interface minimalista e atalhos de teclado.
  • Infra: Docker + Docker Compose em VPS Ubuntu.

Fluxo de funcionamento

  1. Cliente envia texto via WebSocket.
  2. Servidor valida, salva no histórico e emite broadcast para todos os clientes conectados.
  3. Histórico persiste em JSON simples, excelente para VPS com poucos recursos.

Recursos principais

  • Histórico navegável: rolagem infinita com busca incremental.
  • Preview multi-dispositivo: mostra quem está conectado e qual conteúdo está ativo.
  • Atalhos: Ctrl/Cmd + Enter envia, Ctrl/Cmd + L limpa, Ctrl/Cmd + [ e Ctrl/Cmd + ] navegam pelo histórico.
  • Privacidade: deployment privado, sem serviços externos. Todo o tráfego é criptografado via HTTPS (Caddy como reverse proxy).

O que aprendi

  • WebSockets em FastAPI são leves e fáceis de escalar horizontalmente usando containers.
  • Automatizar deploy com Compose reduziu downtime; atualizações rodam com zero downtime usando docker compose up -d.
  • Criar um “clipboard” com feedback visual remove fricção em pair programming e revisões de código.

Próximos passos

  • Autenticação opcional com tokens de uso único.
  • Temas personalizáveis e modo compacto.
  • API pública para integrações com automações pessoais.

Se quiser experimentar a solução ou adaptar para sua equipe, me chama!