2

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:

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.

Carregando publicação patrocinada...
1
0

Eu sempre acho curioso quando vejo na "mesma frase" Node e escalar sem gastar rios de dinheiro. O mesmo vale para PHP, Python e outras linguagens.

Clara que arquitetar certo conta muito mais, mas tem limite, não existe arquitetura milagrosa. Na verdade muitas vezes é até a engenharia, é detalhe de código que ajuda escalar.

Soluções complexas ajudam escalar muito sim, mas gastando rios de dinheiro.

Escolher tecnologias que realmente entregam resultado forte, depois de que a implmentação é bem feita, é o básico para escalar sem gastar rios de dinheiro.

Tem empresas que podem gastar rios de dinheiro. Tem empresas que não podem ou preferem não gastar e escolhem tecnologias adequadas para o conceito proposto ("escalar sem gastar rios de dinheiro") ou trocam para uma tecnologia assim depois. Tem provas que pode valer a pena até um caso ruim assim. Claro que cada caso é um caso.

Desejo sorte, estou só postando aqui, para algumas pessoas refletirem sobre isso quando preferirem tomar uma decisão. Certas tecnologias não casam bem com a ideia proposta.

Não sei se é o caso, ultimamente tenho visto muitos projetos grandes nascerem rápido por conta da IA. Até hoje eu já usei vários desses softwares. Todos sem exceção são de ruins a imprestáveis. Naturalizamos o que já era terrível. O jeito web de fazer as coisas já estava entregando aplicações muito fracas e agora estamos ampliando isso.

Ninguém está conseguindo fazer aplicações rapidamente com um mínimo de qualidade. Tem muita gente falando isso, mas não se vê na prática. Tem pessoas que estão até defendendo para não se importar com os bugs da IA porque você também faria um código com bug... aaffff!

Claro que dá para usae a IA para ajudar em muitas coisas, eu faço isso, mas sei que a IA não sabe programar, não sabe fazer engenharia ou arquitetura corretamente. A IA pode fazer algumas coisas mecânicas.

muito do que estão fazendo da IA me faz glorificar o que eu sempre critiquei, frameworks podem entregar a produtividade necessária melhor que a IA. A IA continua só fazendo as partes mecânicas que já deveria ter bivliotecas para não ficar se repetindo. É o problem a das pessoas há tempos não saberem mais fazer abstrações. Também é o problema de querer entregar rápido, mesmo que depois vai ter que repetir tudo. A IA realmente faz o caminho mais curto nesses casos que erros anteriores.

Eu tenho mais de 40 anos na área, tenho um certo reconhecimento e eu, apesar de usar muito a IA, não consigo ter os ganhos sem perde de qualidade que alguns propagam por aaí. Tenho acesso a um grupo seleto de pessoas muito mais inteligentes que eu, com um ótimo background, e elas dizem o mesmo. As pessoas que eu tenho como minhas referências, algumas beirando a genialidadde na computação, e elas não conseguem ter esses resultado miraculosos que espalham por aí.

Se a IA fosse tudo isso, eu estaria entregando muita coisa, mas eu não abro mão da qualidade.

Continua valendo o que eu já dizia, agora atualizado, a IA faz os 90% inciais do software. Aí fica faltando só os outros 90%.

S2


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente (não vendo nada, é retribuição na minha aposentadoria) (links aqui).

-1