cross-posted from: https://lemmy.world/post/16102424

Hi all,

Quiblr now has personalized post feeds for Lemmy!

I haven’t seen a “recommended feed” feature anywhere else in the fediverse but I thought I would take a crack at building it!

My goal was to make a privacy-focused recommendation engine that tailors your experience based on the content you interact with. None of the data leaves your device. You don’t even need to log in for it to work

  • You can turn it off or tune your feed in the settings
  • Each post now also includes a show me more/less button

I would LOVE feedback from folks if you get a chance to try it out!

This was really fun to build so let me know if there are any questions!

PS: Let me know if someone else has built this feature for the fediverse - then I will change the title to not claim “the first” lol

  • GolfNovemberUniform@lemmy.ml
    link
    fedilink
    arrow-up
    20
    ·
    23 days ago

    So it’s fully local right? That’s a really awesome system then. I’d probably recommend encrypting the data but that’s not really necessary

      • GolfNovemberUniform@lemmy.ml
        link
        fedilink
        arrow-up
        15
        ·
        23 days ago

        I don’t understand why nobody did it in the past. It makes the experience so much better for normal users. I hope this becomes mainstream. Btw does it have any automatic analytics cache cleaning or something like that (so it doesn’t grow 20 gigs of it in a year)? If so, make sure it cleans it periodically and not immediately when a piece of data becomes unneeded. On low end devices frequent write/delete cycles can be an issue

        • Scratch@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          8
          ·
          23 days ago

          I can’t go into too much detail, I was working for a recognisable company who was dabbling in the Fediverse with a heavy lean towards empowering the users.

          This was high on my list of demands. Along with fine grain controls for what metrics you opt into and what notifications you receive.

          Project got gutted early this year.

            • helenslunch@feddit.nl
              link
              fedilink
              arrow-up
              5
              ·
              23 days ago

              Hate to tell you this, but most companies are varying degrees of unethical. If you write them all off you’d never have a job.

              • GolfNovemberUniform@lemmy.ml
                link
                fedilink
                arrow-up
                2
                ·
                edit-2
                23 days ago

                Your decisions are your decisions. My job is to promote ethics and to interrupt the work of unethical companies. Being ignorant and working for evil companies just for convenience is not good imo

        • Aurelius@lemmy.worldOP
          link
          fedilink
          arrow-up
          5
          ·
          23 days ago

          I appreciate the kind words. And yes, I included a mechanism to constantly refresh and clean up recommendations so that it doesn’t use too much memory

  • sabreW4K3@lazysoci.al
    link
    fedilink
    arrow-up
    8
    ·
    23 days ago

    Is it just a front-end or are there backend changes?

    I like it for the most part. I dislike that you can’t find the real URL of anything though

    • Aurelius@lemmy.worldOP
      link
      fedilink
      arrow-up
      10
      ·
      23 days ago

      All front-end.

      And thanks for the feedback. Can you elaborate what you mean by “can’t find the real URL of anything”?

      • sabreW4K3@lazysoci.al
        link
        fedilink
        arrow-up
        8
        ·
        23 days ago

        So I opened the link and was scrolling through the front page and eventually saw a community that I’d never seen before, so I wanted to take a look. I opened it and couldn’t see what instance it was hosted on. When I tried to share it to myself, it still wouldn’t give me the original instance URL. I found that super frustrating.

        • Aurelius@lemmy.worldOP
          link
          fedilink
          arrow-up
          11
          ·
          edit-2
          23 days ago

          Gotcha. That should be an easy addition. I’ll see if I can push an update tonight!

          Edit: I noted this in a separate comment, but I added the instance info to the communities page + the original post url to the Post Details page (via the 3 dot ellipses)

        • Aurelius@lemmy.worldOP
          link
          fedilink
          arrow-up
          4
          ·
          23 days ago

          I pushed an update to Quiblr. I added the instance detail to the Communities page. Additionally, the vertical 3 dot ellipses on each post has an option called Post Detail >> I added the original post url here

          Let me know if you have any additional feedback!

    • Aurelius@lemmy.worldOP
      link
      fedilink
      arrow-up
      4
      ·
      23 days ago

      I use Kofi for donations (button in the top bar). I build and pay for everything myself so support is appreciated!

  • janonymous@lemmy.world
    link
    fedilink
    arrow-up
    4
    ·
    23 days ago

    Can you elaborate how and what actions will affect my feed? I don’t quite understand how this works without any login as I can’t vote or write comments. Also how do my subscriptions affect it if I’m logged in to an instance?

    I do like it and would wish something like that as an app.

  • Guadin@k.fe.derate.me
    link
    fedilink
    arrow-up
    4
    ·
    23 days ago

    Never heard of Quiblr but I really like the look and feel of. Also great that you added a “For you page”. Any chance you can add kbin/mbin instances? Is Quiblr like a frontend which pulls data from other instances or is it an other fediverse piece of software? And are we able to selfhost Quiblr?

  • Asudox@lemmy.world
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    22 days ago

    How does it work? I was planning on importing a recommendation algorithm I made in the past for MAL for an upcoming fediverse summer project I was thinking of making that was also pretty much privacy-friendly. I’d like to know how you do the on device recommendation though. Since it’s content based, do you download thousands of posts or something?

  • degen@midwest.social
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    22 days ago

    Apologies for the late comment. So this is a full-fledged frontend like photon or alexandrite, but with this recommendation engine built in? On first glance, it looks so much more responsive and lightweight! I’m really wondering what you’ve done that other big frontends haven’t lol, no broken images or anything! If you do end up going open source, I might consider actually contributing to something for once. I’d love to help build out some features.

    Edit: After using it for a few minutes, wtf, it’s snappier than lemmy itself. And the community search, wow! Maybe a pretty ui does something to perception, I dunno. I am assuming you have barrels of cache lol.

    • Aurelius@lemmy.worldOP
      link
      fedilink
      arrow-up
      1
      ·
      22 days ago

      I appreciate all the kind words! You are correct that it is a frontend with recommendation engine built in. And the speed likely comes from being a progressive web app.

      There are tradeoffs, but it definitely makes thinks “snappier” :)

  • spiritedpause@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    23 days ago

    Wow this is such a clean and snappy Lemmy client, may become my new daily driver!

    The “For You” feed looks like it has a similar focus as the one I have on Agora, which is a webapp for following people across the “extended Fediverse” as I call it (Mastodon, Bluesky, Threads, Nostr).

    The For You feed on Agora utilizes a fork of the open source FediAlgo library to create a feed that combines interesting posts from people you follow, as well as friends of friends, and it learns your preferences based on whose content you like/boost.

    Agora: https://agorasocial.app

    Source code: https://github.com/ghobs91/agora

  • Eggyhead@kbin.run
    link
    fedilink
    arrow-up
    2
    ·
    23 days ago

    Images on the feed shrink when I try to zoom in on mobile. If I want to read the text on the image, I need to tap it once to open the post, then tap it again to open the image. At that point it fills the screen, but I still can’t zoom in any closer, it just bounces back.

    • Aurelius@lemmy.worldOP
      link
      fedilink
      arrow-up
      4
      ·
      edit-2
      23 days ago

      That is an effect of the dynamic sizing (adjusting the style for different screen dimensions) + it may be because the items are in a flatlist. I will add a dynamic image size setting option tonight to allow users to show the full image ratio rather than a standardized image size.

      Edit: dynamic image size setting is now live

  • Autonomous User@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    20 days ago

    🚩 Anti-libre software bans us from proving it’s claims. This is worse, service as a software substitute.

  • solrize@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    23 days ago

    Do you mean it downloads all the posts whether you read them or not? Is that basically running your own instance?

    • Aurelius@lemmy.worldOP
      link
      fedilink
      arrow-up
      4
      ·
      23 days ago

      No. Posts are not downloaded and Quiblr is purely a frontend (you can choose which instance you want to use). The algorithm basically crafts the relevant API calls to populate the For You feed with content that matches your usage preferences. Those preferences and metadata are all stored on your device

        • Aurelius@lemmy.worldOP
          link
          fedilink
          arrow-up
          4
          ·
          23 days ago

          I see what you mean. To clarify, Quiblr as a platform is also 100% private. It doesn’t even use Google Analytics. The only data that I collect is anything submitted via the Feedback form + Umami for analytics .