Show HN: Yakread – An RSS reader powered by machine learning

yakread.com

18 points by jacobobryant a year ago

This is a web-based reading app I've been working on since August. The main differentiator is that Yakread uses machine learning to rank the articles in your feed: as you click on articles from a particular RSS/newsletter subscription, other articles from that subscription will tend to be ranked higher in the future (via a bandit algorithm). Yakread also uses ML to recommend articles that other users have read, so your feed will have articles in it even before you sign up and add your own subscriptions.

For the recommendations, I'm using the collaborative filtering implementation from Spark MLlib[1]. I model RSS feeds instead of individual articles: when you click an article, that counts as a "point" for that article's RSS feed; at recommendation time, the algorithm first selects an RSS feed to recommend, and then it picks one of the popular/recent articles from that feed. To counter popularity bias, I have a pre-ranking step that probabilistically filters out RSS feeds that have already been recommended a lot. I manually approve all RSS feeds before they're eligible to be recommended.

In addition to scrolling through the algorithmic feed, you can read articles chronologically on the subscriptions page, which I sometimes prefer when I have a larger chunk of reading time. There's also a daily digest email that lists new articles from your subscriptions; skimming that is part of my morning routine. I find the whole system gives me a nice balance between algorithmic filtering and manual control.

This is the culmination of the past four years I've spent as a full-time bootstrapped founder; Yakread both scratches a personal itch and attempts to fix various deficiencies that my previous businesses have had. In a nutshell, I've come to believe that "discovery is a feature, not a product," which is why Yakread is a full reading app instead of a standalone recommender system like my previous products.[2] From a business perspective, the recommendation algorithm is primarily intended to help onboard new users quickly/easily.

More ideologically, I think RSS is ready for a comeback :).

[1] https://spark.apache.org/docs/latest/mllib-collaborative-fil... -- I'm using the implicit feedback setting.

[2] Show HN for Yakread's immediate predecessor, The Sample: https://news.ycombinator.com/item?id=27664020. The Sample does bring in $1k or so per month, but long-term retention is too low for me to grow it sustainably.

hsjqllzlfkf a year ago

> More ideologically, I think RSS is ready for a comeback

Ideologically, I love RSS too. I think it's one of the great achievements of the Internet, alongside with torrents and Wikipedia.

However I would expect that people who think like us are exactly the kind of people likely to be wary of delegating what they're reading to "AI". I love RSS, but if I wanted someone else to decide what I see I'd be consuming from Twitter or Facebook, not RSS.

What do you think about this?

  • jacobobryant a year ago

    The key question I think is "how do you create a recommender system that serves the user's interests instead of just the business's interests?" And how do you help the user have confidence that the system is serving their interests?

    I think competition is a big part of that. You want options for different reading apps, so if e.g. the one you're using keeps pelting you with culture war content/low-value viral content/etc, you can switch to a different app that gives you better recommendations. And then that creates a market opening for apps that really do put the user's interests first. (After all, we can design algorithms to optimize for just about anything--the question is what the business incentives push us to optimize for.)

    RSS makes competition a lot more feasible: since Yakread doesn't host any of the content it recommends, anyone else is free to make a reading app that has just as much access to content as Yakread does. Even if Yakread really took off, it would never have the same amount of lock-in/internal network effects as e.g. Twitter. My "grand vision" is for Yakread to become a medium-sized business, and for plenty of other companies to develop "mainstream RSS readers" as well.

    That being said, even though I am similarly concerned about this issue, I don't think it'll be a concern for most users. Mostly Yakread is an attempt to make an RSS reader that can get mainstream adoption beyond the HN demographic, so most people in the target audience probably don't have strong opinions about algorithmic recommendations anyway. Hence you don't actually even need to know what RSS is to use Yakread. Although I've focused on RSS and the recommendation/ranking algorithm in this Show HN, usually I just describe Yakread as an app that helps you spend more time reading long-form content.

    I think that's the best way to promote interoperability anyway: build stuff that has the right foundations, but focus on the immediate user benefits in your marketing.

  • derbOac a year ago

    I'm happy to see this and might give it a try as I've often wanted RSS + recommendations. I like being tipped off to things I wouldn't have found on my own and like RSS as a standard protocol.

    I've often wondered if it could all be done in some kind of decentralized way though, just to avoid a central server for the recommendations.

    I'm not sure my interest in the decentralized part comes from a privacy concern per se, it's more of a pure interest, "would this work" thing, maybe with a bit of robustness interest too.

    • jacobobryant a year ago

      I've thought about this as well. Privacy is actually one impediment I think. If you make everyone's raw usage data public (so that anyone can use it to train their own recommendation model), some of the training data might be de-anonymizable.

      However there's plenty of data out there that people are already happy to make public, so the privacy thing probably isn't a show-stopper. e.g. Reddit seems like it'd be a rich source of training data. Twitter too, if it were more open. I'd keep an eye on Bluesky!

aspyct a year ago

> Yakread uses machine learning to rank the articles in your feed: as you click on articles from a particular RSS/newsletter subscription, other articles from that subscription will tend to be ranked higher in the future (via a bandit algorithm). Yakread also uses ML to recommend articles that other users have read, so your feed will have articles in it even before you sign up and add your own subscriptions.

I feel like you didn't need ML to do that.