alqubo.
Archivadojul 2020

Wefy

Una web para escuchar Spotify a la vez con tus amigos, cada uno desde su casa.

Captura de Wefy

Qué era

Wefy surge de la necesidad de escuchar música con amigos o familia al mismo tiempo, ya sea trabajando, estudiando o simplemente para tener un sitio donde compartir canciones con quien quieras. Era julio de 2020 y casi todo el mundo estaba en casa.

Entrabas con tu cuenta de Spotify, creabas una party (nombre, género y si era pública o no) y te daba un código tipo #4821 para pasárselo a quien quisieras. Quien se unía escuchaba lo mismo que el anfitrión, en su propio Spotify.

El anfitrión llevaba el control: play, pausa, siguiente y anterior, y se aplicaba a todos. Tenía pensado otras funcionalidades: votos para cambiar la canción si más de la mitad estaba de acuerdo, likes y un !NEXT para saltarse una canción sí o sí, dos veces por hora. Pero nada de eso llegó a hacerse.

Cómo funcionaba

Wefy no reproducía música: controlaba el Spotify de cada uno a través de su API.

  • El navegador del anfitrión preguntaba a Spotify cada segundo qué estaba sonando y por dónde iba, y se lo mandaba al servidor por un socket.
  • El servidor revisaba el Spotify de cada invitado. Si sonaba otra canción o iba más de dos segundos desfasado, le mandaba reproducir la misma canción en el mismo segundo.
  • En la web, todos veían la portada, el título y el progreso de lo que estaba sonando.

Cómo estaba hecho

  • Web en React con Redux.
  • Servidor en Node.js con Express y Socket.io, con Redux también en el servidor para el estado de las partys y MongoDB para guardar usuarios y partys.
  • Spotify: login con OAuth y la Web API para leer y controlar la reproducción de cada usuario.

Cómo acabó

Nunca llegó a lanzarse, ni siquiera en beta: solo lo usé yo para hacer pruebas.

Lo empecé el 9 de julio de 2020. El 28 de julio, Spotify sacó la beta de Group Session en remoto. Le dediqué un mes más, hasta tener la party funcionando, pero con Spotify haciéndolo en la propia app, Wefy ya no tenía mucho sentido.