Show HN: RSS Brain
139 points| wb14123 | 3 years ago |rssbrain.com | reply
* Recommend related articles from the feeds of your choice. It's backed by ElasticSearch and the algorithm is described on RSS Brain's website.
* Option to sort articles by upvotes and time. The algorithm is similar to the old Reddit and you can find it on the website as well.
* Save search terms into folders so you can filter the articles.
I've been using it for a while and found these features very helpful. So I want to share this on HackerNews. The frontend is written in Flutter so it has cross platform clients, even though the web version don't feel very "web native" because the level of Flutter web support. I guess only time can improve that.
I don't have enough hardware to scale it up so it's currently in subscription mode to limit the users. I'm going to open source the code (maybe non-commercial license) once I think it's ready so you can host it by yourself. It's still in early stage and haven't been tested by a lot of people. So any feedback is helpful. Thanks!
Update: Added a scroll down hint in the landing page. Thanks for the feedback.
[+] [-] neontomo|3 years ago|reply
- Privacy policy should direct me to https://www.rssbrain.com/privacy not terms
- Selecting email in the support section doesn't work, which the website encourages me to do
- Are you handling your own logins? Seems like a security issue waiting to happen!
- Do you need to sign up with both an email and a username? Perhaps email is enough
- The logo and the name "RSS Brain" do not match up in height
- The download buttons CSS padding-bottom is too thin
- The scroll down to see more part seems to have some symbols added, I can't see them on my computer (Mac). I assume these are arrow emojis/symbols or something. Replace them with something that works cross-platform
- "Support upvotes and comment count from forums like Reddit and HackerNews" should be "Supports"
- "Powered by transparent algorithm" -> "Powered by a transparent algorithm"
- "Try RSS Brain with 7 days free trial and subscribe with $4.99 per month. " -> "Try RSS Brain with a 7 day free trial and subscribe for $4.99 per month."
- If I go to the login page, and then the signup page, and then hit the Back button on my browser, it shows "page not found".
- The green design box that contains the screenshots is off center
There's some other smaller inconsistencies but I'll leave it at that. I can see you put a lot of effort into building this tool, and it seems quite cool! I hope you succeed.
[+] [-] toastercat|3 years ago|reply
Can you explain what you mean by "handling your own logins" and what is the norm?
[+] [-] wb14123|3 years ago|reply
[+] [-] KirillPanov|3 years ago|reply
Suggestion: before posting to a technical forum like HN, make sure you have a "technical FAQ" or similar. There were a ton of obvious geek questions I had after reading your front page, and ~~saw no link that might answer any of them.~~ (Edit: okay, some of it is behind the "algorithm" link https://www.binwang.me/2022-10-29-RSS-Brain-Yet-Another-RSS-... which I assumed would be a link to a bunch of code).
First and foremost: I've never heard of any cross-site upvoting protocol. Did you create one? How do you upvote things on sites (e.g. HackADay) that don't have voting?
[+] [-] wb14123|3 years ago|reply
The way RSS Brain knows upvotes is by leveraging customized fields in ATOM feed. It will parse the tag <*:upvotes>, <*:downvotes> in each of the article and compute score from there. That means the RSS feed should support those fields in order to let RSSBrain know the upvotes. But the protocol is open so any RSS feed an RSS reader can use those if they think this is a good idea.
So it can only get exiting upvotes from the site. It has no way to upvote when there is no such feature in the original site. However, you can have a customized RSS feed to use upvotes in a different way: for example, for a news website, the position and size of an article usually means the "upvotes" from the editors. Which you can give some weights based on the position and generate a RSS feed that use those weights as "upvotes".
I did two things to make it easier at the beginning:
1. When you subscribe to HackerNews or a subreddit in RSS Brain (that means you paste HackerNews/subreddit URL directly to RSS Brain to subscribe), it will try to parse the content by itself (using some APIs), instead of trying to find a RSS feed. It's not a standard way, but just a way to make it easier while no RSS feeds have those fields yet.
2. I pushed a PR to a very popular RSS generator: RSSHub, so that you can easily add those fields (the doc: https://docs.rsshub.app/en/joinus/quick-start.html#submit-ne...) when create a RSS feed using RSSHub. I've updated its HackerNews RSS feed to generate upvotes fields as well.
[+] [-] foreverCarlos|3 years ago|reply
[+] [-] foreverCarlos|3 years ago|reply
Somewhat tangential: does anyone know if there is a way to subscribe to the local timeline RSS feed (or even federated!) of a specific Mastodon instance? Individual users have RSS feeds but I could not find a timeline feed yet.
[+] [-] mikae1|3 years ago|reply
What I'm missing even more is a single Atom or RSS feed for the people I follow from my account.
On Reddit my account specific feed can be found at an URL that looks like this: https://old.reddit.com/.rss?feed=SECRET&user=USERNAME
On Pinboard it's at: https://feeds.pinboard.in/rss/secret:SECRET/u:USERNAME/
Adding a feed for every single person I follow to my feed reader (and manually keeping it in sync with what what my account actually follows) is not a solution that works.
[+] [-] adparadox|3 years ago|reply
Even more tangential, I've been building an algorithmic digest of Mastodon (supports home, local, or federated) at https://fediview.com/. It might be interesting if you want a summary of Mastodon posts. Adding in RSS support might even be possible at some point.
[+] [-] password4321|3 years ago|reply
There are several expectations decreed by the community; for example: search has been specifically rejected.
[+] [-] psanford|3 years ago|reply
[+] [-] mr_sturd|3 years ago|reply
[+] [-] wb14123|3 years ago|reply
[+] [-] Eddy_Viscosity2|3 years ago|reply
[+] [-] wb14123|3 years ago|reply
[+] [-] Fraaaank|3 years ago|reply
[+] [-] s3000|3 years ago|reply
- Using votes is good, allowing users to vote would be better. Could you use ActivityPub to allow users to publish their votes and pool them within the Fediverse? I am waiting for a future where all RSS readers share their votes so that good content is highlighted.
- If you use ActivityPub, you could also enable your users to comment on posts.
[+] [-] dave333|3 years ago|reply
[+] [-] wb14123|3 years ago|reply
[+] [-] kevincox|3 years ago|reply
Does the mobile app at least integrate with the platform auto-fill/password managers?
[+] [-] juliushuijnk|3 years ago|reply
https://www.reddit.com/r/Startup_Ideas/comments/zcb6r3/perso...
You have basically everything set in place for that. I'm no expert in AI software (yet?), but could be fun to brainstorm with you, or if it is open source, branch out to try it myself.
[+] [-] PaulKeeble|3 years ago|reply
You can definitely build a better RSS reader and a big part of that is going to be tailoring so its not just a hosepipe of everything. I use FreshRSS every day and it supports filtering but its a pain to use and its not what I am looking for really it has no intelligence. I read maybe 1/10th of the articles it presents and I have cut feeds where the signal to noise is poor for my interests. This is definitely an area worth improving.
[+] [-] masukomi|3 years ago|reply
SQLite has built in Full Text search.
What's the advantage of using ElasticSearch and having to worry about server costs? Why not just get rid of that and charge me for the app without worrying about never-ending costs?
[+] [-] wb14123|3 years ago|reply
1. Sync between clients. This can also be done by using a Cloud service to sync some database, but resolving conflict data between clients can be tricky.
2. It needs a long running process to check updates for the feeds. It's hard for mobile devices to check updates all the time. So there needs to be another desktop device that check the updates regularly, and may need to sync the articles to the mobile devices. You either sync the whole database, which is a lot for some people (it has been 10GB+ for my own feeds), or you fetch the articles on demand, which makes the desktop client essentially a server.
3. The recommendation features is much easier implemented with ElasticSearch, since it summarize an article's content with a term vector, which you can use to find similar articles. And its search is much more powerful than SQLite's full text search as well.
I understand some people don't want advanced features. Without those features it maybe simpler to just write a RSS client without server. But the advanced features are the motivate behind me writing RSS Brain, and how I find a RSS reader can be more useful.
[+] [-] nobody9999|3 years ago|reply
Because when it's a client-side only app, it's more difficult to charge for subscriptions to ensure that sweet, sweet revenue. Which appears to be the raison d'etre for most software these days. :(
Besides, making it require a server pushes the hoi polloi to register to use "the cloud" (read: someone else's server) rather than just run it themselves.
And if it gets big (it seems like an interesting and potentially popular app), money can be made harvesting PII from those who register.
If you're the app developer, what's not to like?
I'd note that the OP says the code is open source, and so should it be useful, tech folks will likely host their own servers.
This comment isn't meant to denigrate or bash RSS Brain or its author. Rather, it seeks to answer Masukomi's question[0].
My analysis may be dead wrong. It seems plausible, especially since so many folks seem to want to make everything a subscription.
To butcher an old quote[1]: Subscriptions are $10 here, $10 there and soon you're talking about real money.
No thanks.
[0] https://news.ycombinator.com/item?id=34190815
[1] "A billion here, a billion there and soon you're talking about real money." Usually attributed to Everett Dirksen[2], but it appears that he never said any such thing.[3]
[2] https://en.wikipedia.org/wiki/Everett_Dirksen
[3] https://www.dirksencenter.org/research-collections/everett-m...
[+] [-] clircle|3 years ago|reply
[+] [-] wb14123|3 years ago|reply
If I want to write an algorithm to sort articles in HackerNews by upvotes and time, is the upvotes information available to Gnus? Assume the RSS feed has a customized field called <RSSBrain:upvotes> for each of the article, does the algorithm have access to that data?
And does Gnus need to get all the articles in a folder/feed and run the sorting algorithm on the fly? If so it seems to be a performance concern. Would love to know how it works in real life.
[+] [-] ppetty|3 years ago|reply
[+] [-] novoreorx|3 years ago|reply
[+] [-] thewataccount|3 years ago|reply
[+] [-] wb14123|3 years ago|reply
[+] [-] wahnfrieden|3 years ago|reply
- no information besides "rss reader" before signup and requiring email meant i bounced
- why make me choose download vs web app before seeing anything at all?
- why should i trust you with my reading data?
edit: on macos there're no scrollbars and no other affordances on your landing page to know that i must scroll down to learn more
[+] [-] neontomo|3 years ago|reply
[+] [-] wb14123|3 years ago|reply
[+] [-] Jorengarenar|3 years ago|reply
[+] [-] amelius|3 years ago|reply
Is that true though?
Wouldn't this be the same as Google hypothetically saying "The algorithm behind Google Search is transparent, so you don't have to worry about SEO"?
[+] [-] wb14123|3 years ago|reply
[+] [-] tmpburning|3 years ago|reply