- Se creó una extensión de navegación web basada en feeds RSS para que los usuarios puedan explorar y calificar contenido de sitios web independientes de forma aleatoria
- Con un clic en un botón se muestra un sitio nuevo, y mediante las funciones de me gusta, no me gusta y reporte se forma una estructura de recomendaciones impulsada por la comunidad
- El backend se construyó con FastAPI y SQLite, usando la lista RSS de small web de Kagi para indexar alrededor de 600 mil páginas
- Sin publicidad ni recolección de datos de usuarios, ofrece simplemente la experiencia de explorar contenido web interesante durante ratos cortos
- Un proyecto experimental personal que busca reducir el cansancio de los lectores RSS tradicionales y redescubrir el ecosistema de la web pequeña
Resumen del proyecto
- Parte de la idea de que la experiencia de usar lectores RSS puede resultar pesada
- Se señala la presión de acumular artículos sin leer y la ineficiencia de una estructura de contenido puramente cronológica
- Los usuarios expresan el deseo de descubrir artículos interesantes al azar
- Inspirado en el sistema de recomendación de TikTok, se diseñó una estructura para ofrecer aleatoriamente contenido de sitios web pequeños
- Si el usuario califica el contenido, la frecuencia de aparición aumenta según la cantidad de me gusta
- Se aplica un algoritmo de recomendación simple, sin publicidad ni recopilación de datos personales
Funciones y flujo de uso
- Se ofrece como extensión para Firefox y puede descargarse desde timewasterpro.xyz
- El usuario recibe un nuevo sitio web con un clic y puede evaluarlo con Upvote/Downvote/Report
- Es necesario crear una cuenta, y si un enlace enviado por el usuario se vuelve popular entre otros usuarios, sube de posición en el Leaderboard
- El backend rastrea periódicamente los feeds RSS y los guarda en la base de datos
- Revisa 5 feeds cada 600 segundos, con actualizaciones de una frecuencia de una vez al día o menos
- Las URL reportadas se mueven a una cola de revisión, y se registran los conteos de me gusta y no me gusta
Arquitectura técnica
- La API está escrita con FastAPI y la base de datos se gestiona con SQLAlchemy
- Para almacenar datos se usa SQLite
- Permite comenzar rápido y hacer respaldos sencillos, por lo que encaja bien en un proyecto de hobby
- La autenticación funciona con creación de cuenta por correo electrónico y verificación mediante enlace
- También se intentó implementar inicio de sesión con passkeys, pero estuvo limitado por la inestabilidad de implementaciones OSS
- Se usa autenticación con JWT, aunque se considera poco eficiente desde la perspectiva de la experiencia de usuario
- Se utiliza como fuente de datos la lista RSS del repositorio de GitHub de Kagi small web
Diseño y experiencia de usuario
- Se usa la librería System.css para recrear un estilo de Apple System OS de los años 80 y 90
- Esto transmite visualmente que se trata de “un experimento personal, no un servicio profesional”
- Como no fue posible diferenciar atajos de teclado por sistema operativo, se fijó la tecla Alt
- Hubo problemas para especificar IDs por navegador en la configuración de
manifest.json de la extensión
- Como no se incluyeron herramientas de analítica, la retroalimentación de usuarios se recopila principalmente a partir de problemas reportados directamente
Planes a futuro
- Se planea mejorar el sistema clasificando el contenido por categorías para que los usuarios vean con más frecuencia los géneros que prefieren
- Se estudia una función para mover a una cola separada el contenido que supere cierto nivel de downvotes
- Hace falta una estructura para que los nuevos usuarios puedan encontrarse primero con ‘buen contenido’ al inicio
- Se espera ampliar la oferta de sitios web independientes de fotografía, ciencia y manualidades
- Actualmente ya se han indexado alrededor de 600 mil páginas, y el código fuente se publicará cuando se estabilice
1 comentarios
Comentarios en Hacker News
La idea de que hay que leer todo el contenido es un defecto del diseño de la UI del lector
El problema es mostrar el feed RSS como una “bandeja de entrada”, como si fuera correo electrónico
Hay que abordarlo más como un “río de noticias (river of news)” que fluye, como TikTok
La clave es echar un vistazo rápido a lo interesante y dejar que el resto simplemente pase
Twitter también era, en esencia, una estructura parecida a RSS; solo que se hacía scroll sin marcar nada como “no leído”
Por eso conviene desactivar el contador de “elementos no leídos”. El valor de RSS está en qué elijo leer
Si un artículo es realmente bueno, al final otros suscriptores terminarán compartiendo el enlace
Yo prefiero el modo bandeja de entrada en lugar del “río”
Yo también quise alguna vez crear un sistema que encontrara automáticamente contenido acorde a mis gustos en toda la web
Yo también tuve una revelación parecida hace unos años
Twitter era ese tipo de servicio, ahora ya no
Parece que algunas personas están usando mal el lector RSS
RSS no es una herramienta para consumir absolutamente todo, como si fuera un canal de YouTube, sino para ver titulares y leer solo lo que te interesa
TikTok es incluso peor: su estructura está hecha para mantener a la gente enganchada con un flujo infinito de contenido
Para alguien así, quizás sea mejor usar una lista de “leer después” que un lector RSS nuevo
El motor de recomendaciones de TikTok es muy eficiente porque mide la reacción a nivel de cada pieza de contenido individual
No hace falta afirmar tajantemente que alguien está “usando mal” RSS
Cuando usaba NetNewsWire antes, la insignia de artículos no leídos me generaba ansiedad
Yo sigo usando una versión personalizada de tt-rss de 2005
El indicador de “no leído” de Google Reader hacía que se sintiera como el correo electrónico, casi como una “tarea pendiente”
Mucha gente usa RSS como término genérico para los feeds web
En la práctica, la cuestión es si usar RSS, Atom o JSON Feed
Los podcasts todavía siguen usando RSS como base
Yo solo uso JSON Feed
Da la impresión de que la mayoría de los lectores de feeds están hechos por gente que en realidad no usa RSS
Yo administro 211 feeds en unas 20 categorías y tengo 13,000 elementos en caché
En realidad, solo abro el contenido completo en alrededor del 1 al 5% de los casos
Totalmente de acuerdo. Hay muchos lectores que no tienen funciones de filtrado ni una estructura capaz de manejar grandes volúmenes de artículos
La ventaja de RSS es que está libre de la influencia de los algoritmos de recomendación
Me da muchísimo gusto ver un proyecto así
Antes me encantaba StumbleUpon, así que me alegra ver que aparezca algo parecido
Ojalá alguien hiciera un sucesor de DIGG
Coincido totalmente. Da esa nostalgia de StumbleUpon, pero con la ventaja de poder elegir tú mismo el enfoque del contenido
Por cierto, Digg volvió a lanzarse hace poco en versión beta
Me gusta la curación no algorítmica de RSS, pero no quiero una curación centrada en la “diversión”
El tema de mantener o no el orden cronológico del contenido depende de la situación
Recomiendo un servicio llamado Scour
Clasifica los artículos según qué tan relevantes son para los intereses del usuario
Puede importar feeds RSS o buscar entre más de 15,000 fuentes
Está diseñado como una herramienta que selecciona solo buenos artículos, para evitar miles de elementos “no leídos”
Me parece interesante. Me pregunto si tiene una función para excluir ciertos feeds mediante lista negra
Estoy intentando resolver el problema de clasificación por categorías en RSS
Como muchos feeds no usan el campo category, hice un crawler que parsea hashtags en la descripción
Para mantener un “inbox zero” diario en RSS, me desuscribo de los blogs que publican demasiado seguido
Hay una tendencia a que la frecuencia de publicación y la calidad del contenido sean inversamente proporcionales
Yo me suscribo a RSS con la app Karakeep
Mi sitio web también ofrece varios tipos de contenido, pero como la mayoría de los lectores no admite la etiqueta category, al final los distingo poniendo prefijos como [Blog] en el título