Fiz uma alternativa brasileira ao Discord, open source, rodando em 3 VPS por uns US$ 200/mês
No dia 17 de agosto a ANPD suspendeu compartilhamento de tela e vídeo no Discord no Brasil. De uma hora pra outra, um monte de gente que joga, estuda ou trabalha em call ficou sem a função mais básica de uma chamada. Eu já vinha construindo uma alternativa havia um tempo, meio como projeto pessoal, meio porque cansei de depender de plataforma gringa pra falar com meus amigos. Essa suspensão foi o empurrão pra levar isso a sério.
Chama pqp (sim, o nome é a gíria mesmo, e sim, o domínio é pqp.gg).
O que já funciona
- Voz e texto em comunidades e servidores, do jeito que você já conhece de app assim.
- Chamada de voz ponto a ponto pra salas pequenas, e um SFU LiveKit auto-hospedado assumindo quando a sala cresce. A troca é automática, ninguém precisa escolher nada.
- Compartilhamento de tela com áudio, sem o eco que a gente teve que caçar e corrigir (isso rendeu até um post no blog).
- Watch party pra assistir junto, com modo de baixa latência, suportando centenas de espectadores na mesma sala.
- Cliente web (pqp.gg), desktop (pqp.gg/download), Android nativo (open testing acabou de ser submetido na Play Store, e tem APK direto em pqp.gg/android) e iOS nativo (beta no TestFlight, pqp.gg/beta).
Testei ao vivo essa semana: mais de 200 pessoas online ao mesmo tempo e uma sala de voz com 57 pessoas junto, sem cair. Um streamer, o Sodtz, migrou a comunidade de cineclube dele pro pqp e teve 49 pessoas numa call só no primeiro dia.
Como é construído
Tudo isso roda em três VPS pequenas da Vultr em São Paulo mais um Postgres gerenciado, e o custo mensal fica bem abaixo de R$ 1.000. Não tem VC, não tem plano de monetização agressiva, é eu pagando a conta do bolso e vendo até onde dá pra escalar sem gastar rios de dinheiro. A stack é Node no servidor, React no client, WebSocket pra chat e sinalização de voz, WebRTC ponto a ponto ou LiveKit dependendo do tamanho da sala.
O código é aberto, licença AGPL-3.0, em github.com/rafaelcg/pqp. Isso importa mais do que parece: se eu sumir ou decidir fazer alguma maldade, qualquer um pode pegar o código e rodar a própria instância. AGPL especificamente porque, sendo um serviço que roda em servidor, é a licença que garante que uma versão modificada oferecida pra outras pessoas também abre o código de volta.
O que ainda falta (sendo honesto)
Não vou vender isso como pronto, porque não está:
- DM em grupo não funciona no celular ainda. Funciona no desktop e na web, mas no app nativo não deu tempo.
- Levantar a mão numa call não funciona no celular. No desktop sim.
- iOS ainda não consegue abrir um watch party. Dá pra assistir, mas não pra iniciar um, ainda.
Tem outras arestas por aí também, é esperado num projeto de uma pessoa só. A ideia de postar aqui é justamente essa: mostrar o que já dá pra usar de verdade, sem fingir que está tudo redondo.
Testa e me avisa o que quebrar
Se você joga ou tem uma comunidade que sentiu esse baque com o Discord, dá uma chance:
- Web: https://pqp.gg
- Desktop: https://pqp.gg/download
- Android: https://pqp.gg/android
- iOS (TestFlight): https://pqp.gg/beta
- Código: https://github.com/rafaelcg/pqp
Abre issue no GitHub se achar bug ou tiver ideia. Não prometo responder na hora porque sou só eu do outro lado, mas leio tudo.