GamiTask
Un pomodoro collaboratif en temps réel, avec des salles synchronisées et un rendu 3D animé.
- React
- Three.js
- Socket.io
- Express
- Node.js
Pourquoi
Le problème
Travailler seul chez soi, c’est facile à commencer et difficile à tenir. Un peu comme le sport, le faire accompagné est beaucoup plus motivant. Le pomodoro aide, mais souvent il se réalise seul, à part si on se rend dans des bureaux ou coworking café.
Je voulais retrouver le plaisir de travailler sur ses propres projets, tout en étant entouré de personnes qui poursuivent leurs propres objectifs, et ce, en restant chez soi ou, du moins, sans nécessairement avoir besoin de se déplacer.
Ce que j’ai construit
Ce que fait le projet
Pomodoro en room commune
Plusieurs personnes partagent le même timer, synchronisée au serveur
Rendu 3D
Une scène Three.js avec des interactions, hybride entre Habbo Hotel et Habitica
Connexion avec Twitch
Connectée au chat d’un streamer, la salle génère des personnages à partir des viewers présents sur le live de l'utilisateur
Progression et personnalisation
Finir des pomos et compléter des tâches donnent de l'expérience et de l'argent, permettant ainsi d'acheter des objets pour personnaliser sa pièce
Choix techniques
Les décisions qui ont compté
Temps réel
Chat par salle
Les messages ne sont jamais persistés : ils existent le temps de la session et disparaissent avec elle. Le choix est délibéré — un chat éphémère n’a pas d’historique à modérer, pas de données personnelles à conserver, pas de base à faire grossir pour un contenu que personne ne relira. Et plutôt que de diffuser sur un canal unique en filtrant les destinataires à la main, chaque chat est dans une room indépendante .
Capacité
Utilisateurs max par salle
Pour des raisons de limitation, les salles publiques sont limitées à 20 utilisateurs, tandis que les salles privées peuvent accueillir jusqu’à 10 utilisateurs.
Avec le recul
Ce que je referais autrement
J’ai conçu l’interface seul, sans designer. L’UX est la partie qui m’a demandé le plus de temps et celle dont je suis le moins satisfait, parce que je découvrais les problèmes en les rencontrant plutôt qu’en les anticipant.
Je l’ai livré sans jamais le faire connaître. Cinq personnes l’utilisent, mon cercle proche. Le projet est en ligne mais n’a eu communication : j’ai traité la diffusion comme une étape qui viendrait d’elle-même une fois le code fini.
J’ai voulu livrer trop d’étapes de progression d’un coup. Le système de progression est arrivé en bloc au lieu d’être découpé en paliers livrables. Aujourd’hui je sortirais un premier palier utilisable, je le mettrais entre les mains de quelqu’un, et je construirais la suite sur ce qu’il en dit.