ShortStayGuide
ProjetPlateforme de guides de voyage curatés tri-locale (EN/FR/ES). 2 997 city guides (333 villes × 3 durées), 17 445 persona guides, 2 580 neighborhoods, 93 articles, 399 roadtrips, 48 food guides — 23 562 documents au total, ~17 900 stops géolocalisés, globe 3D, recherche IA. 1 162 commits, ~63 K LOC, < 10 MiB Worker.
Pourquoi j'ai construit ça
Les vols low cost ont transformé le weekend en terrain d'exploration. Un sac à dos, deux jours, une ville qu'on ne connaît pas — c'est devenu une passion. Sauf qu'une fois sur place, la vraie question c'est : qu'est-ce qu'il faut absolument voir pour avoir l'impression d'avoir vraiment tiré profit de son temps ? ShortStayGuide répond à ça : un guide curaté par ville, qui va droit aux essentiels sans noyer le lecteur dans 400 POIs génériques. Pensé pour les voyageurs rapides, par quelqu'un qui en est un.
Décisions techniques structurantes
Plus de 23 500 pages statiques générées au build (city guides × 3 langues, persona guides, neighborhoods, articles, food, roadtrips), avec hydratation sélective uniquement sur les composants interactifs (globe, mega-menu, search, météo). Zéro JS sur la grande majorité du site — le SEO garde toute sa priorité.
Plus de 23 500 fichiers markdown à frontmatter strictement validé alimentent tout le routing (city / country / continent / duration / guide / persona / neighborhood / article / food / roadtrip) sans DB ni CMS. Génération reproductible, déploiement Cloudflare Pages trivial.
Cobe pèse ~19 KB canvas-based au lieu d'importer Three.js. Et Leaflet (~150 KB) n'est chargé que sur les routes guide qui en ont besoin — jamais sur la home, jamais sur les pages d'agrégation.
Le challenge non-trivial
Produire 2 997 city guides cohérents (3 durées × 333 villes × 5 continents × 3 langues EN/FR/ES), chacun avec stops géocodés (lat / lng), tags normalisés, excerpts < 90 caractères, continent UPPERCASE. Plus 17 445 persona guides, 2 580 neighborhoods, 93 articles, 399 roadtrips, 48 food guides — 23 562 documents total. Faire tenir tout ça dans 17 templates de routes dynamiques + des pages d'agrégation par ville / pays / continent / persona, sans exploser le temps de build ni la cohérence du schéma. Le vrai boss n'est ni le globe ni la perf — c'est la discipline schéma × volume × locales.
Leçon retenue
L'architecture islands permet d'acheter l'interactivité à l'unité : Leaflet (150 KB) ne touche jamais la home, et le site reste essentiellement zero-JS là où ça compte pour le SEO.
Fonctionnalités
Navigation WebGL avec marqueurs par ville
Cloudflare Vectorize + Workers AI à la volée
Chaque étape géolocalisée, marqueurs numérotés
API proxy + cache Cloudflare KV
Widget vols en guide, consent-gated
Consent cookies + analytics reverse-proxy