Graine quotidienne
Le hash de date génère le défi unique du jour.
RailGuessr est un jeu de géographie des transports interactif conçu pour les passionnés d'urbanisme et les usagers du quotidien. Les joueurs doivent reconstituer des segments spécifiques du métro en identifiant les stations intermédiaires entre deux terminus sur 16 lignes. Le projet propose un système de défi quotidien déterministe, un support PWA, et une interface minimaliste et performante pensée pour un usage mobile-first.
Construit pour explorer la logique déterministe côté client et les mécaniques de jeu à forte rétention. RailGuessr cible une communauté de niche de passionnés de transports, en proposant un défi mental quotidien synchronisé mondialement sans nécessiter d'infrastructure backend.
Joueurs quotidiens qui font la navette, passionnés d'urbanisme qui connaissent le métro de leur ville par cœur
Une application React purement côté client déployée via Cloudflare Pages. Le réseau de métro est modélisé comme une liste d'adjacence statique (graphe). La graine quotidienne est dérivée d'un hash de la date courante, garantissant une synchronisation mondiale. Les statistiques et séries utilisateur sont gérées via un utilitaire StatsManager sur mesure interagissant avec LocalStorage.
Le hash de date génère le défi unique du jour.
Le joueur saisit les stations intermédiaires pour reconstituer le trajet.
La correspondance floue valide les réponses et met à jour la série.
Le partage en un clic alimente la croissance communautaire organique.
Un hash de date génère la même énigme pour chaque joueur dans le monde — aucun backend requis, aucun coût de synchronisation.
Le métro parisien est modélisé comme un graphe, permettant une identification précise des trajets même sur des lignes ramifiées comme les 7, 10 et 13.
Un support PWA offline-first complet permet aux joueurs d'ouvrir leur défi quotidien même sous terre dans le métro lui-même.
La logique de parcours de graphe identifie les chemins uniques sur les lignes ramifiées, tandis qu'un normaliseur sur mesure retire les caractères spéciaux pour la correspondance floue. L'UI est construite avec Tailwind CSS et Framer Motion pour des transitions fluides à moins de 60 fps. La monétisation est intégrée via Google AdSense avec un focus particulier sur le maintien des performances UX principales.
Modélisé un réseau de transport réel et écrit une logique de pathfinding sur des topologies ramifiées.
Livré un jeu quotidien synchronisé mondialement à coût serveur nul grâce au hachage déterministe côté client.
Construit un jeu installable et utilisable hors ligne atteignant un taux d'adoption écran d'accueil de 15 %.
Conçu un normaliseur de chaînes tolérant aux accents pour des devinettes justes et accessibles à travers des saisies variées.
Apportez-moi votre idée ou projet à moitié construit. Je le cadre, le conçois et le livre — avec le même workflow que derrière RailGuessr.