[HN Gopher] Show HN: RSS Brain
       ___________________________________________________________________
        
       Show HN: RSS Brain
        
       I wrote an RSS reader called RSS Brain recently. The motivate is
       the current RSS readers either don't sort articles by priority,
       which makes it hard to read posts from HackerNews and Reddit, or
       sort it with some "smart" algorithm which I don't trust. I also
       like the Google News feature that can show related story from
       different source, but the sources are not configurable and the
       algorithm is not transparent either. So with RSS Brain, I
       implemented these features:  * 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.
        
       Author : wb14123
       Score  : 54 points
       Date   : 2022-12-30 19:13 UTC (3 hours ago)
        
 (HTM) web link (www.rssbrain.com)
 (TXT) w3m dump (www.rssbrain.com)
        
       | devin wrote:
       | Maybe it's just me, but I couldn't get 1password to recognize the
       | fields as fillable when creating an account.
        
       | dave333 wrote:
       | Easy to create an account and it looks interesting based on
       | exploring and finding both expected and a couple of novel feeds.
       | I would prefer a one row per article format that just shows
       | titles that you have to click on to see the full feed article
       | summary. Also as an old geezer I did not immediately notice the
       | vestigial horizontal scroll bars and was wondering if 4.5
       | articles per feed was all I was getting.
        
         | wb14123 wrote:
         | I can absolutely add this feature!
        
       | manmal wrote:
       | Please use a spell checker on the landing page copy. Just by
       | skimming over the text for 30 seconds I found 3 mistakes.
       | 
       | You could even let Chat GPT do the work with a prompt like ,,Make
       | this text suitable for a software product landing page, and
       | correct any spelling errors: _paste text_ "
        
         | wb14123 wrote:
         | Thanks for the feedback! As a non-native speaker I should
         | definitely use speak checker more often. I don't usually write
         | frontend apps in my work so didn't notice speak checker was not
         | on in my editor. Just fixed a few of them. Actually I've tried
         | ChatGPT and it was amazing. I'll think about how to improve the
         | text but don't want to rely all on AI.
        
         | [deleted]
        
       | thewataccount wrote:
       | If you can add the ability to show multiple feed columns similar
       | to tweetdeck and self hosting and I'm sold!
        
         | wb14123 wrote:
         | Never heard of TweetDeck before. Took a look just now and it
         | looks interesting. Just out of curiosity, what is the normal
         | use case to show multiple feeds at the same time?
        
           | foreverCarlos wrote:
           | TweetDeck is one of the most popular Twitter clients. Columns
           | are used to display feeds for different keywords, events,
           | lists, groups, DMs, etc
        
           | thewataccount wrote:
           | Like the sibling said, organization and event feeds.
           | 
           | You might have interests in many different domains or
           | subjects and it's nice to have a live feed of each one
           | separately vs all clumped together as one. Tags sort of help,
           | but IMO columns make it easy to sort by tag, while still
           | letting you see multiple at once.
           | 
           | RSS is also a great candidate for event feeds similar to
           | tweet deck - where you're less interested in reading in the
           | reader, and more interesting in organizing different event
           | feeds that you can curate to ideally alert you to important
           | things quicker - security bulletins and space launches might
           | be good examples.
        
       | swyx wrote:
       | > This site can't provide a secure connection www.rssbrain.com
       | sent an invalid response. ERR_SSL_PROTOCOL_ERROR
       | 
       | anyone else cant even access the site?
        
       | neontomo wrote:
       | Some notes:
       | 
       | - 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.
        
         | wb14123 wrote:
         | Thanks for the feedback! I write much more backend software
         | than frontend ones, so love the feedback on UI details and I
         | will try to fix those.
        
         | keb_ wrote:
         | > Are you handling your own logins? Seems like a security issue
         | waiting to happen!
         | 
         | Can you explain what you mean by "handling your own logins" and
         | what is the norm?
        
           | neontomo wrote:
           | Yes of course. Generally, for a project with a small team,
           | doing the backend for logins yourself is a good way to get
           | yourself hacked or having your customers data leaked at some
           | point. It is difficult to do this type of validation and
           | security testing well. The most likely outcome is that you
           | overlooked something and later pay the price. On a small
           | website I would default to using Google/FB/etc for logins and
           | let them handle the security.
        
             | PenguinCoder wrote:
             | That's pretty flimsy reasoning to allow Google and Facebook
             | to track your users. You "might" have done something wrong.
             | It's unlikely they rolled their own encryption and
             | authentication process. Using well trusted, vetted, local
             | auth libraries is much more preferable than outsourcing
             | your auth for "security reasons" to a third party.
        
               | spockz wrote:
               | One could still use something like auth0 to implement
               | authentication without shelling out to social media.
        
             | tryfinally wrote:
             | I, for one, wouldn't ever use a service that requires login
             | via social media or some other platform, especially
             | FB/Google. This isn't usually a problem, though - I don't
             | think I've ever encountered an app that would impose this.
             | (Maybe apart from services that are specifically built on
             | top of the app that they're authenticating through.)
        
             | thaumaturgy wrote:
             | Are you thinking the tricky part here is in handling
             | password resets? Because otherwise I've had an easier time
             | with straightforward username+bcrypt(password) in-house
             | versus reliably implementing OAuth2/OpenID/whatever, which
             | has some sharp edges of its own.
        
             | smcleod wrote:
             | Just please don't (only) rely on people having a Google or
             | Facebook account. If they're all that's offered you're
             | excluding a lot of people that don't want anything to do
             | with those two companies.
        
       | amelius wrote:
       | > The algorithm is transparent so you don't need to worry about
       | being manipulated by algorithms.
       | 
       | 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 wrote:
         | As mentioned in the link when you click the "algorithm", the
         | algorithm has been explained. And the implementation will be
         | open sourced once it's ready (mainly working on cleanup
         | codebase, disable payment related things by default so that
         | user can selfhost easier).
        
           | [deleted]
        
       | KirillPanov wrote:
       | Really great to see more RSS-powered stuff!
       | 
       | 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 wrote:
         | The link you included (https://www.binwang.me/2022-10-29-RSS-
         | Brain-Yet-Another-RSS-...) has some details, but I guess you
         | are right it's not obvious enough.
         | 
         | 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 wrote:
         | Curious about your last question too. I assumed this sorting
         | only works for websites that do have voting (and the count is
         | included in the feed).
        
       | Jorengarenar wrote:
       | While I'll stick with QuiteRSS (maybe eventually switch to RSS
       | Guard if I manage to unbroke the UI), I am tremendously happy for
       | every new instance of anything related to RSS. I really don't
       | want this tech gone, because without it I'm lost on the modern
       | web.
        
       | wahnfrieden wrote:
       | quick feedback:
       | 
       | - 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
        
       | mr_sturd wrote:
       | Stick an arrow at the bottom of the homepage to show there's more
       | information below about the application, or people will think
       | they need to sign in/sign up.
        
         | wb14123 wrote:
         | You are absolutely right, just added some hint.
        
           | foreverCarlos wrote:
           | Sorry, I know this is not a PR review but if you are live
           | coding anyway then:
           | 
           | Nit #1: images (or emojis) on either side of the text you
           | added are not displayed in iOS Safari.
           | 
           | Nit #2: I am getting horizontal scrolling in iOS Safari (no
           | content is cropped, just unnecessary scrolling due to some
           | constraint miscalculation)
        
       | Eddy_Viscosity2 wrote:
       | I went to check it out and first thing was asked to open an
       | account. No screenshots, no guest login, just straight to open
       | account. No way to check it out first.
        
         | Fraaaank wrote:
         | It's not very obvious but the page is scrollable.
        
         | wb14123 wrote:
         | As mentioned by other comments there are actually screenshots
         | below. It's not obvious which is my fault. Just added some hint
         | so people will know to scroll down. A demo account to showcase
         | the UI is also a great idea. Will put it into my todo list.
        
       | neontomo wrote:
       | The page title element has a typo (or it's a pun that I'm not
       | getting?). Mordern -> Modern
        
         | wb14123 wrote:
         | Thanks for catching it! Not sure why my the spell checker in
         | VIM doesn't catch it. Just fixed it!
        
           | acheton wrote:
           | I think also you have 'responsible design' rather than
           | 'responsive design' on the main page?
        
             | wb14123 wrote:
             | Thanks for pointing it out! Fixed it.
        
       | masukomi wrote:
       | i'm failing to understand why this needs a server side component.
       | 
       | 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?
        
       | clircle wrote:
       | Looks like Gnus for people that don't like Emacs. With Gnus, you
       | can using scoring to make your own algorithm to display news in a
       | user defined way. The Gnus manual calls this artificial
       | stupidity.
        
         | wb14123 wrote:
         | That sounds interesting. I took a brief look to find out what
         | information is available to the custom algorithm but didn't
         | find too many details, so I will just ask the question here:
         | 
         | 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 wrote:
       | RSS is awesome. And great to see new innovation like this. The
       | notion of RSS Brain best features seem to depend on having
       | already discovered feeds. Feedly, for example, has a discovery
       | experience to find new feeds which is helpful. If I already had a
       | bunch of feeds RSS Brain might be right... but I think I'd still
       | miss an easy way to not just find related articles in similar
       | feeds I already subscribe to. The magic of some competing
       | products is finding whole sources or feeds related to topics I'm
       | already interested in.
        
       | foreverCarlos wrote:
       | Looks great! I have been actively reducing my blog and social
       | media exposure and this might help clean up the remaining
       | experience even more.
       | 
       | 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.
        
         | adparadox wrote:
         | I don't think there is an RSS feed, but looks like there is a
         | JSON endpoint:
         | https://github.com/mastodon/mastodon/issues/17269.
         | 
         | 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.
        
           | foreverCarlos wrote:
           | Very cool! Makes me wish your solution was integrated into
           | OP's app (or vice-versa). This looks like the future of
           | clean, customizable online content consumption.
           | 
           | One feature I would like to explore more is making algorithms
           | completely customizable (as an advanced option perhaps). I.e.
           | allowing changing all params manually in addition to being
           | able to use your presets.
        
             | wb14123 wrote:
             | I don't have plan to support customize format in RSS Brain
             | for now. But personally I use feeds from RSSHub
             | (https://rsshub.app/) a lot. It's very easy to add a
             | customizable feed to RSSHub
             | (https://docs.rsshub.app/en/joinus/quick-start.html#submit-
             | ne...).
             | 
             | About the cutomizable params, it would be more complex
             | since that means each person's articles need to have
             | difference scores, which multiplies the storage and
             | computation a lot. But on some level the priority of
             | articles is customizable: you can provide customized
             | "upvotes" for each of the articles in a customized RSS feed
             | (an example to provide these fields in RSSHub:
             | https://docs.rsshub.app/en/joinus/quick-start.html#submit-
             | ne...), which will affect the final sorting of the
             | articles.
        
         | mikae1 wrote:
         | RSS support in Mastodon is extremely rudimentary.
         | 
         | 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.
        
           | foreverCarlos wrote:
           | Agreed! I assumed that that would be a more advanced feature
           | but definitely would want that. Local timeline RSS should be
           | an easy change (note to self: time to contribute!).
        
         | password4321 wrote:
         | This project aggregating posts shut down quickly due to the
         | backlash: https://mastinator.com
         | 
         | There are several expectations decreed by the community; for
         | example: search has been specifically rejected.
        
       | juliushuijnk wrote:
       | I see overlap with an idea I had related to that everyone should
       | have their personal AI. My suggested first step would be to do
       | something like you did. Have an RSS reader where you can gather
       | your input. Then let the AI help you filter, make
       | recommendations, perhaps send notifications.
       | 
       | 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 wrote:
         | This is everyone's problem with RSS, filtering through the hose
         | pipe of information. Some of the feeds you want everything but
         | a lot of the news sites or popular ones you want a cut down
         | version that caters to your interests since few sites filter on
         | their end and even then it could be poor cut up. It needs an
         | easy way to do that, a basic Bayesian filter trained with down
         | votes would be a drastic improvement over none at all.
         | 
         | 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.
        
       ___________________________________________________________________
       (page generated 2022-12-30 23:00 UTC)