15 puntos por GN⁺ 2025-12-08 | 1 comentarios | Compartir por WhatsApp
  • 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

 
GN⁺ 2025-12-08
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”

      • Si organizas los feeds por categorías, tampoco es difícil marcarlos todos como leídos
      • En cambio, me desuscribo de inmediato de los feeds que publican demasiado seguido. No puedo seguir blogs que publican a diario
    • Yo también quise alguna vez crear un sistema que encontrara automáticamente contenido acorde a mis gustos en toda la web

      • Al final entendí la importancia de las fuentes de datos de alta calidad y llegué a la conclusión de que basta con suscribirse a unas pocas personas buenas
      • Y cuando lo pensé otra vez desde cero, eso era justamente RSS: un concepto que ya estaba resuelto desde 2005
    • Yo también tuve una revelación parecida hace unos años

      • Como no quería llevar seguimiento de lo que ya había leído, hice bots para cada feed RSS y los espejé en Diaspora
      • Ahora me pasé a Mastodon, pero el principio es el mismo: simplemente hacer scroll y ver solo lo que me interesa
    • 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

      • En cambio, YouTube te hace elegir entre varias miniaturas y pierde información sobre las otras 9 que no tocaste
      • El algoritmo en sí no es el problema, sino qué se está optimizando
      • Mi lector también muestra un contenido a la vez, como TikTok, pero está compuesto por artículos científicos o textos sobre LLM que yo mismo envié
    • No hace falta afirmar tajantemente que alguien está “usando mal” RSS

      • Lo único que cambió es la forma de consumir contenido: de “leer lo que acaba de salir” a “ponerme al día con lo que fui acumulando”
      • YouTube también se puede usar con esa misma lógica
    • Cuando usaba NetNewsWire antes, la insignia de artículos no leídos me generaba ansiedad

      • Si volviera a usarlo ahora, desactivaría la insignia y marcaría automáticamente como leído todo lo que tenga más de 2 días
    • Yo sigo usando una versión personalizada de tt-rss de 2005

      • Algunos feeds los leo de principio a fin, y otros solo los reviso de vez en cuando
      • Más adelante me gustaría agregar un feed algorítmico basado en un sistema de recomendaciones
      • En especial, me gustaría experimentar con un feed de recomendaciones descentralizado basado en artículos “marcados con estrella/etiquetados” por autores que suelo leer
    • El indicador de “no leído” de Google Reader hacía que se sintiera como el correo electrónico, casi como una “tarea pendiente”

      • Era una UI que hacía que revisar titulares se viera como un “trabajo”, en vez de algo simple
  • 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

      • Gracias a su estructura simple, funciona bien en la mayoría de los lectores y es fácil de manejar por programación
      • Cuando genero feeds yo mismo, uso JSON Feed al 100%. Nunca le encontré una razón de peso para usar Atom
  • 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

    • No te repite siempre los mismos dominios, y te permite ver de forma equilibrada artículos de distintas áreas
    • Se siente como un regreso al tradicional modelo lineal de flujo de informació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”

    • Quiero evitar estructuras como TikTok que buscan impulsar el “engagement”
    • La razón por la que volví a usar RSS es para conectarme directamente con autores que me gustan
    • Cuando más adelante haya demasiado contenido, lo ideal sería una curación tipo boletín semanal donde el algoritmo comprima el contenido
  • El tema de mantener o no el orden cronológico del contenido depende de la situación

    • He imaginado una UX que resuelva esto tanto en lectores RSS como en podcasts, pero todavía no encuentro una buena solució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

      • Guarda contenido automáticamente y genera etiquetas con IA generativa
      • Como permite crear feeds RSS basados en condiciones, va bien para usarla junto con lectores tradicionales
    • 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