Aller au contenu

App mobile et web

Accord — le Duel des couples, en temps réel sur deux téléphones

Jeu de couple francophone : un Duel en temps réel sur deux téléphones, une question du jour à deux et des parcours, avec un serveur arbitre qui rend la triche impossible.

Nature
App mobile et web
Stack
App iOSAndroidExpoReact NativeNestJSSocket.IONext.js 16PostgreSQLRedis

« Est-ce que tu connais vraiment ta moitié ? » Accord transforme la question en jeu : un Duel de dix questions joué en même temps sur deux téléphones, puis un rendez-vous quotidien à deux. Pas de surveillance, pas de publicité, et un abonnement unique pour le couple plutôt que par personne.

Ce que fait l'app

  • Le Duel : dix questions en trois manches (« Je te connais », « Qui de nous deux ? », une finale à 3 points), 10 secondes par question, révélation simultanée et score de complicité sur 10, partageable.
  • Jouable sans compte depuis le navigateur : un lien ou un code à six chiffres suffit pour rejoindre sa moitié.
  • Une question du jour : la réponse de l'autre reste cachée tant qu'on n'a pas répondu soi-même, puis rejoint les Souvenirs.
  • La flamme du couple (jours passés ensemble, avec un gel hebdomadaire gratuit et sans culpabilisation), un Défi de 30 jours à relever à deux, cinq tests à deux et des packs de questions thématiques.
  • Un espace connecté sur le web et un back-office pour la rédaction des questions, sans aucune réponse intime visible.

Stack et architecture

  • Monorepo pnpm et Turborepo : app Expo SDK 57 (expo-router), site et back-office en Next.js 16 et React 19, Tailwind 4.
  • API NestJS en verticales (controller, service, repository), Prisma sur PostgreSQL 16, Redis pour l'état des parties, passerelle Socket.IO pour le temps réel.
  • Les règles du Duel vivent dans un paquet TypeScript pur, couvert à 100 % par ses tests ; les contrats client et serveur sont des schémas zod partagés.
  • Connexion par e-mail, Google et Apple, réponses intimes chiffrées en AES-256-GCM, paiements intégrés StoreKit 2 et Google Play vérifiés par l'API elle-même, sans intermédiaire (désactivés pour la première version).
  • Une seule source de jetons de design pour le web et le mobile, contrôlée par un audit qui refuse toute couleur ou taille en dur.

Ce qui a été difficile

Rendre le Duel impossible à tricher alors que les deux joueurs sont souvent dans la même pièce. Le serveur est l'unique arbitre : la question, l'échéance, les réponses et le score ne vivent que chez lui. Une réponse n'est jamais transmise à l'autre téléphone avant la révélation, seul un « a répondu » circule. Les propositions sont mélangées différemment sur chaque téléphone, avec des identifiants opaques, pour que « c'est la B » ne veuille rien dire. Le chrono est tenu côté serveur avec 300 ms de grâce réseau ; chaque client corrige son horloge à partir de l'heure du serveur pour animer la barre. Quitter l'app pendant une question compte zéro, et l'autre le voit.

Ces règles sont testées par des scénarios à deux clients réels : double réponse, réponse en retard, ordre d'arrivée inversé, déconnexion en pleine manche.

État du projet

En développement, pas encore en ligne ni publiée sur les stores : le site, l'API, l'app mobile et le back-office sont construits et testés, la fiche App Store est rédigée. Le nom « Accord » est un nom de travail.

Captures réalisées sur des comptes de démonstration aux prénoms fictifs.