Home

Awesome

<h1 align="center"> <br> <a href="https://quiblr.com"><img src="https://github.com/user-attachments/assets/3fd5ebf6-eb27-41cc-9b43-8be1b4c1881e" alt="Quiblr" width="200"></a> <br> </h1> <h4 align="center"><a href="http://quiblr.com" target="_blank">Quiblr</a> is an intuitive, accessible, and modern interface to connect users to the fediverse.</h4> <p align="center"> <body style="display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0;"> <a href='https://ko-fi.com/J3J3KBRD6' target='_blank'> <img height='36' style='border:0px;height:36px;' src='https://storage.ko-fi.com/cdn/kofi4.png?v=3' border='0' alt='Buy Me a Coffee at ko-fi.com' /> </a> </body> </p> <p align="center"> <a href="#overview">Overview</a> • <a href="#feature-spotlight">Feature Spotlight</a> • <a href="#additional-features">Additional Features</a> • <a href="#stack">Stack</a> • <a href="#donate">Donate</a> • <a href="#contact">Contact</a> • <a href="#other-reads">Other Reads</a> • <a href="#license">License</a> </p> <p align="center"> <img src="https://github.com/user-attachments/assets/f186879b-7516-4827-a1c8-28c0a4f2c2b4" alt="Preview_gif" width="80%" style="min-width: 300px; border-radius: 10px;"> </p>

Overview

Welcome to Quiblr, the intuitive front-end that bridges the gap between users and the fediverse. Designed with accessibility in mind, Quiblr allows you to seamlessly connect with any instance on Lemmy (and, soon, other popular fediverse applications like Mastodon). Quiblr makes exploring decentralized social networks easy and engaging for everyone (not just tech-savvy users 😉)

Quiblr combines the best features of mainstream social media with a more flexible and user-centric approach. Enjoy a sleek, user-friendly experience with personalized feeds, rich media support, and strong privacy, all while exploring new communities and conversations.

Whether you're looking to expand your social horizons or simply want a fresh, modern social media experience, Quiblr makes it easy and enjoyable. Jump in and find your community!

Feature Spotlight

🙈 For You Feed: The For You feed is a private, on-device recommendation engine that serves more of the content that you love. No data collection. No server-side rendering. Quiblr’s novel solution uses a combination of advanced industry practices to bring you the most relevant content without ever collecting or storing your personal data. Here’s how it enhances your browsing experience:

https://github.com/user-attachments/assets/5008e383-496e-4773-aacc-39fedc6b69db

🍀 Feeling Lucky: One of the challenges in the Fediverse is the vastness of content, which can make it difficult for users to discover new and engaging posts. Quiblr's "Feeling Lucky" button addresses this by offering a simple and enjoyable way to explore random posts, allowing you to stumble upon interesting content that you might not have encountered otherwise.

Big shoutout to @Rooki@lemmy.world for this feature idea!

📈 Post Peformance Insights: Fediverse apps tend to lack the ability to provide the same level of visibility into how your posts are performing as mainstream social media apps. To address this, I built a solution that gives a directional sense of how active your posts are. It does this by using the upvotes, downvotes, comments, and age of the post. The logic is as follows:

const activityScore =
    (post?.counts?.upvotes -
      post?.counts?.downvotes +
      post?.counts?.comments * 2) /
    getTimeDifferenceNoUnits(post?.post)

//return the diff between now and when the post was published (no units)
export function getTimeDifferenceNoUnits(post) {
  const postLocalTime = DateTime.fromISO(post?.published, {
    zone: "utc",
  }).toLocal();
  const currentTime = DateTime.local();

  const timeDiffInMinutes = Math.floor(
    currentTime.diff(postLocalTime, "minutes").minutes
  );
  return timeDiffInMinutes;
}

As you can see in the logic above, upvotes and downvotes are weighted equally while comments are twice the weight. Additionally, the activity score is pulled down as more time passes. Again, this is directional but it gives you a sense of how your posts are doing.

👯 Remove Duplicate Posts: One of the biggest gripes about the Lemmy experience is the duplicate posts (as the result of similar communities across multiple servers). Quiblr's solution for this is to provide an option to remove posts that have the same title and are from the same author. This way, the first duplicate post is kept in the feed and the others are removed.

📢 Text to Speech: Being a relatively young technology, fediverse apps unfortunately tend to be inaccessible. Accessibility has been a particular focus for me and one of the most recent features I added is text to speech, a simple solution that reads posts (in any language) out loud. The solution consists of 2 steps: 1) determine the language of the post and 2) convert from text to speech.

  1. Determining Language: To determine the language of a post, I tested various solutions. I knew I wanted a lighter solution and I found that Eld fit the bill. Its speed and accuracy was better than anything else I tested 💨
  2. Text-to-speech: Once I had Eld setup, I was a bit stuck in finding the best solution to do text-to-speech efficiently but then I discovered Expo's Speech component. Expo Speech is a simple solution that is customizable enough to handle various language and voice options. I may revisit this solution again in the future as text-to-speech tech continues to develop. In the meantime, it gets the job done!

Additional Features

Stack

Donate

Quiblr is a labor of love, a passion project that I dedicate my evenings to. If you enjoy using Quiblr, consider buying me a coffee to support its continued development!

<a href='https://ko-fi.com/J3J3KBRD6' target='_blank'> <img height='36' style='border:0px;height:36px;' src='https://storage.ko-fi.com/cdn/kofi4.png?v=3' border='0' alt='Buy Me a Coffee at ko-fi.com' /> </a>

Contact

Do you have questions, feedback, or just want to get in touch? Use the Quiblr feedback form. I check it pretty regularly 😇

Other Reads

License

Closing Words

Just a heads-up, Quiblr's internal development often takes a different path from the main open-source repo. I juggle a bunch of feature branches behind the scenes, which makes keeping everything tidy in one big repo a bit of a challenge. I've done my best to pull together a single, working repo for the community to build on and use!

<p align="center"> Made with ☕️ in NYC </p>