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
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
Yup, 100% completely local to your device alone
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
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.
Hmm that sounded a bit sus to me. I would highly suggest you not to work for unethical companies, mister/miss
deleted by creator
Nah, if you’re patient and good at what you do, you can find work for an ethical org.
But it helps not having kids to feed
deleted by creator
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
deleted by creator
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
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
All front-end.
And thanks for the feedback. Can you elaborate what you mean by “can’t find the real URL of anything”?
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.
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)
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!
OMG, that’s so much better now. Thank you. It actually feels usable now.
How do you pay for costs? Will there be donations or a premium feature?
I use Kofi for donations (button in the top bar). I build and pay for everything myself so support is appreciated!
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?
Quiblr is purely a frontend. It creates a standardized experience across Instances (including the feed personalization). Im not super familiar with Kbin. If it uses the same API as Lemmy then it should work.
Long-term, I’d love to integrate more and more fediverse platforms into Quiblr
A dedicated webview on fdroid would be cool, for those of us that dont keep cookies and such
deleted by creator
Aaaand its empty. Intentionally.
deleted by creator
My list of places where I allow cookies
deleted by creator
I’d like to see pixelfed when it gets lemmy compat
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.
Better late then never, thanks!
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.
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” :)
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?
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.
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
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
First app I guess, but running your own instance does the same thing, right?
Do you mean it downloads all the posts whether you read them or not? Is that basically running your own instance?
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
Ah, so the “100% private” part is purely the recommendation engine.
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 .
It’s a very nice feature of a pretty polished frontend I haven’t heard of before, I’ll be sure to try it out!
Let me know if you have any feedback!
🚩 Anti-libre software bans us from proving it’s claims. This is worse, service as a software substitute.