Retour aux réalisations

Stemzzy

Blindtest musical multiplayer en temps réel - devinez les songs à partir de stems isolés.

Cloudflare workers Durable object Tanstack start Better-auth Realtime Serverless

À propos

Le Challenge : Réinventer le blindtest avec une synchronisation audio parfaite

Le concept de Stemzzy est unique : un jeu de blindtest musical où les morceaux se dévoilent piste par piste (stems : basse, batterie, voix, mélodie). L'enjeu principal était de concevoir une application de gaming web capable de gérer des salons multijoueurs en temps réel. Le défi technique ? Synchroniser la diffusion des pistes audio, gérer les scores à la milliseconde près et assurer une interactivité fluide entre les joueurs, le tout sans infrastructure de serveurs lourde et coûteuse.

Ma Solution : L'Edge Computing au service du Gaming Web

Pour relever ce défi, j'ai bâti une architecture "Edge-first" ultra-légère et scalable, capable de supporter des milliers de parties simultanées grâce à la puissance de l'écosystème Cloudflare.

Une Stack taillée pour le temps réel et la performance :

  • Cloudflare Durable Objects : C'est le pilier du système de salons (Rooms). Les Durable Objects agissent comme des mini-serveurs de jeu éphémères et locaux. Ils centralisent l'état de la partie, synchronisent les WebSockets de tous les joueurs d'une même room, et valident les réponses instantanément.
  • TanStack Start (SSR) : Utilisé pour propulser l'application avec un rendu côté serveur hyper rapide. Cela permet de charger les playlists et le tableau des scores (Leaderboard) en un clin d'œil, tout en garantissant une navigation fluide.
  • Better-auth : Intégration d'une gestion des utilisateurs moderne et sécurisée. Elle permet aux joueurs de se connecter facilement pour sauvegarder leurs scores, grimper dans le classement Arcade et personnaliser leur profil.
  • Cloudflare D1 & Workers : La base SQL native D1 stocke les métadonnées des morceaux, les playlists (ex: En mode 80, Top France, '90s Rap) et l'historique des parties, tandis que les Workers orchestres l'ensemble à la vitesse de l'éclair.

Fonctionnalités Clés du Projet

  • Mécanique de jeu évolutive : Le morceau commence avec 1 seule piste (ex: la basse). Moins l'utilisateur utilise de stems pour deviner, plus il gagne de points (1000 pts pour 1 stem, 700 pts pour 2 stems, etc.).
  • Salons Multijoueurs (Rooms) : Possibilité de créer un salon en un clic, de partager un code et de défier ses amis en direct.
  • Mode Arcade & Leaderboard mondial : Un classement dynamique mis à jour en temps réel pour fidéliser les utilisateurs et encourager la compétition.
  • Gestion Audio Avancée : Lecture et superposition dynamique des fichiers audio de manière synchronisée côté client.

Impact et Optimisation SEO

Bien que Stemzzy soit un jeu interactif, sa structure a été pensée pour maximiser la visibilité sur les moteurs de recherche :

  • Indexation des playlists : Grâce au SSR de TanStack Start, les pages de playlists et le classement sont entièrement lisibles par les robots Google, captant le trafic sur des requêtes de blindtests thématiques (ex: "Blindtest Rap 90s", "Blindtest Années 2000").
  • Core Web Vitals parfaits : L'absence de serveurs intermédiaires classiques (grâce aux Workers) garantit un temps de réponse (TTFB) minimal, un critère SEO devenu indispensable.
L'expertise démontrée : Stemzzy est la preuve que l'on peut concevoir des applications web complexes, interactives et gamifiées en mode Full-Serverless, tout en offrant une expérience utilisateur digne d'un jeu natif.

Vous avez un projet similaire ?

Discutons de votre projet et voyons comment je peux vous aider.

Réserver un appel gratuit