Présentation

HN.watch affiche la page d’accueil de Hacker News en y ajoutant une courte vidéo explicative pour chaque story. Le service indique que la synchronisation avec le fil original s’effectue toutes les 4 minutes, ce qui garantit que les titres, scores et commentaires affichés sont très proches de l’état en temps réel du site source. L’interface se veut minimaliste : aucun cookie n’est posé, aucun script de suivi n’est chargé et les agrégats quotidiens sont anonymisés, comme le précise la mention « no cookies, no tracking scripts, anonymous daily aggregates only ». Cette approche vise à réduire l’empreinte de suivi tout en offrant un média enrichi.

Architecture technique

Le fonctionnement repose sur un cycle de polling de l’API officielle de Hacker News, qui expose les items sous forme de JSON via Firebase. Toutes les n stories récupérées sont ensuite traitées par une chaîne de génération vidéo. Le texte du titre et le résumé fourni par l’API sont probablement injectés dans un moteur de synthèse vocale et de montage automatisé, le tout orchestré par le service scrimba explain mentionné dans le pied de page. L’absence de cookies implique que le serveur ne conserve aucune session client, ce qui contraint le backend à stocker uniquement les métadonnées nécessaires à la création des vidéos (identifiant de l’article, timestamp, score). Le rendu final est servi sous forme de <video> intégré dans la page, sans dépendance à des scripts tiers.

Analyse des performances et limites

Le délai de 4 minutes entre deux synchronisations crée une latence maximale de 240 secondes entre la publication d’un article sur Hacker News et sa disponibilité sous forme vidéo sur HN.watch. Cette fenêtre peut être suffisante pour les contenus à faible actualité, mais elle devient critique pour les sujets où la rapidité d’information est essentielle. La génération vidéo, qui combine synthèse vocale, montage et encodage (probablement via FFmpeg), représente un goulot d’étranglement matériel : chaque vidéo doit être rendue avant d’être mise en cache, ce qui impose une capacité de calcul proportionnelle au nombre de stories affichées (environ 30 articles par page). L’absence de suivi utilisateur empêche toute personnalisation du flux, limitant ainsi les possibilités d’optimisation basée sur les préférences de lecture. Enfin, le modèle de diffusion sans cookies réduit les risques de collecte de données personnelles, mais il ne protège pas contre les attaques de type scraping ou DoS qui pourraient cibler le point d’accès à l’API Hacker News ou le service de génération vidéo.