- Création d’une extension de navigation web basée sur des flux RSS, permettant aux utilisateurs d’explorer et d’évaluer au hasard du contenu provenant de sites web indépendants
- Un clic sur un bouton affiche un nouveau site, avec des fonctions J’aime · Je n’aime pas · Signaler pour former un système de recommandation communautaire
- Backend conçu avec FastAPI et SQLite, en utilisant la liste RSS du small web de Kagi pour indexer environ 600�0 pages
- Sans publicité ni collecte de données utilisateur, l’expérience vise simplement à faire découvrir pendant un court moment du contenu web intéressant
- Un projet expérimental personnel qui cherche à réduire la fatigue liée aux lecteurs RSS existants et à redécouvrir l’écosystème du petit web
Aperçu du projet
- Le projet part du constat que l’expérience d’utilisation des lecteurs RSS peut être pesante
- mise sous pression par l’accumulation d’articles non lus, et inefficacité d’une structure de contenu strictement chronologique
- les utilisateurs expriment l’envie d’explorer au hasard des articles intéressants
- Inspiré par le mode de recommandation de TikTok, le système a été conçu pour proposer aléatoirement du contenu de petits sites web
- quand l’utilisateur évalue un contenu, sa fréquence d’affichage augmente selon le nombre de J’aime
- application d’un algorithme de recommandation simple, sans publicité ni collecte de données personnelles
Fonctionnalités et parcours utilisateur
- Proposé sous forme d’extension Firefox, téléchargeable sur timewasterpro.xyz
- L’utilisateur reçoit un nouveau site en cliquant sur un bouton et l’évalue avec Upvote/Downvote/Report
- Création de compte requise ; si un lien soumis devient populaire auprès des autres utilisateurs, il remonte dans le Leaderboard
- Le backend explore régulièrement les flux RSS et les enregistre dans la base de données
- vérification de 5 flux toutes les 600 secondes, avec une mise à jour à une fréquence inférieure ou égale à une fois par jour
- les URL signalées sont déplacées vers une file d’attente de révision, et les nombres de J’aime/Je n’aime pas sont enregistrés
Stack technique
- API écrite avec FastAPI, base de données gérée avec SQLAlchemy
- Stockage des données avec SQLite
- démarrage rapide et sauvegarde simple, ce qui le rend adapté à un projet hobby
- Authentification via création de compte par e-mail puis vérification par lien
- une connexion par passkey a aussi été testée, mais reste limitée à cause de l’instabilité des implémentations OSS
- utilisation de l’authentification JWT, jugée toutefois peu efficace du point de vue de l’expérience utilisateur
- La liste RSS du dépôt GitHub Kagi small web est utilisée comme source de données
Design et expérience utilisateur
- Utilisation de la bibliothèque System.css pour reproduire un style Apple System OS des années 80–90
- cela communique visuellement l’idée d’une « expérience personnelle » plutôt que d’un service professionnel
- Impossible de distinguer les raccourcis clavier selon l’OS, donc la touche Alt a été imposée
- Des difficultés ont été rencontrées avec la configuration de
manifest.json de l’extension, notamment pour la définition d’identifiants selon le navigateur
- Aucun outil d’analyse n’est intégré ; les retours utilisateurs sont donc collectés principalement à partir des problèmes signalés directement
Plans à venir
- Prévoit d’organiser le contenu par catégories afin que les utilisateurs voient plus souvent les genres qu’ils préfèrent
- Étudie une fonction permettant de déplacer dans une file séparée les contenus recevant trop de Downvotes
- Nécessité de mettre en place une structure permettant aux nouveaux utilisateurs de voir d’abord les “bons contenus”
- Souhaite élargir l’offre de sites web indépendants dans les domaines de la photo, de la science et de l’artisanat
- Environ 600�0 pages sont actuellement indexées, et le code source sera publié une fois stabilisé
Aucun commentaire pour le moment.