Skip to content

TrueSparrowSystems/canary

Repository files navigation

Canary

The Incognito mode for Twitter

Canary is a cross-platform mobile application that lets you discover and save content via Twitter APIs without any account or log-in info. All data is private and stored on the user's own device with no tracking parameters.

Features

  • Personalise your tweet feed from all your favorite topics.
  • Stay up-to-date with tweets from your favorite users with the help of Lists.
  • Revisit your favorite tweets and organise them however you want with Archives.
  • Discover trending topics from all over the world.
  • Access threads to learn more about any tweet.
  • Search by keywords, mentions, usernames, hashtags, etc.
  • Filter search results by popularity or recency.
  • Support for playing videos, viewing images, and playing GIFs.
  • Share tweets with your social circles.

All of these features without sharing your data or getting tracked by anyone -- Not even us.

What it does

Canary is a privacy-focused app that lets users discover personalized public content without needing an account. The user can browse the home feed based on their preferences, search for specific topics, stay up to date with their favorite users, and archive tweets into multiple groups for the future.

Users can discover trending topics all around the world by choosing any country from a list of countries. The user can also opt to browse the most popular or most recent tweets on the topics or user accounts from the search results.

To make the app's content more relevant, we have reverse engineered and implemented Twitter's Lists feature. In addition, we have improved Twitter's Bookmarks feature by enabling users to create multiple archives with custom names that will store tweets. So, while browsing through the Canary app, the user can add any of their favorite tweets to any archive.

Users can view media like GIFs, images and videos right in the applications and also share tweets among their social circles. Moreover, we offer a choice that redirects the user to Twitter in order to allow them to interact with tweets.

Preview

All data is stored in device, and none to us Archive tweets for the future
Make your feed hyper-personalised Search for specific topics Stay up-to-date from users via Lists

Installation

  • Create a Twitter Developer account and generate Bearer Token by following these steps. Note: To access all features of this app, you will need elevated access which you can get by applying here.
  • Clone the project.
  • Create .env file in the root directory of the project and paste the following lines.
TWITTER_BEARER_TOKEN={BEARER_TOKEN}

Install the dependencies and dev dependencies.

cd canary
npm i

for iOS.

cd ios
pod install

To run the app on android.

npx react-native run-android

To run the app on iOS.

npx react-native run-ios

Try it out!

You can download the app here.

Future Enhancements

  • Exporting existing lists from Twitter and letting users save it
  • Creating and restoring backups
  • Sharing of Lists and Archives across users
  • Support for Dark Mode

Contributors