Skip to content

neonn0d/bye.monster

Repository files navigation

bye.monster

Star on GitHub

Open source Twitter analytics. Track unfollowers, see who doesn't follow back, manage blocked/muted accounts, browse DMs. Unfollow directly from the app.

Completely free — no API keys, no paid services. Uses Twitter's own internal API with your browser session.

Run it

Without Docker

git clone https://github.com/neonn0d/bye.monster.git
cd bye.monster
bash install.sh
npm run dev

With Docker

git clone https://github.com/neonn0d/bye.monster.git
cd bye.monster
docker compose up -d --build

Then run the setup inside the container:

docker exec bye-monster-bye-monster-1 sh -c "./pb/pocketbase superuser create admin@bye.monster somepassword --dir /data/pb_data"
docker cp setup-pb.sh bye-monster-bye-monster-1:/app/setup-pb.sh
docker exec bye-monster-bye-monster-1 sh /app/setup-pb.sh

App runs at http://localhost:3000.

Connect your Twitter

You need to give the app your Twitter session cookies. Two ways:

Chrome extension (recommended)

  1. Go to chrome://extensions (or brave://extensions)
  2. Turn on Developer mode (top right)
  3. Click Load unpacked, pick the extension/ folder from this repo
  4. Open the app in your browser
  5. The extension detects the app and shows a Connect button
  6. Click it — done

Manual

  1. Go to x.com and make sure you're logged in
  2. Open DevTools (F12) > Application > Cookies > x.com
  3. Copy the values of auth_token and ct0
  4. Paste them on the app's setup page

What you get

Page Description
Overview Dashboard with all your stats
Unfollowers Who unfollowed you since last sync
Not Following Back People you follow who don't follow back — unfollow button included
Fans People who follow you but you don't follow back
Followers Full list with search and pagination
Following Full list with search and pagination
Blocked Blocked accounts — unblock from the app
Muted Muted accounts — unmute from the app
DMs Your conversations, split into Messages and Requests

How syncing works

  1. Sign up on the app (email + password)
  2. Connect your Twitter (extension or manual cookies)
  3. Hit Sync — pulls your followers, following, blocked, muted, and DMs from Twitter
  4. Everything gets stored locally in PocketBase
  5. Come back later, sync again — the app diffs the snapshots and shows who unfollowed, who's new, etc.

First sync is just a baseline. Changes show up from the second sync.

Tech

  • Next.js — frontend + API routes
  • PocketBase — local SQLite database with user auth
  • Twitter v1.1 API — direct calls using your session cookie
  • Chrome extension — reads auth_token + ct0 from x.com cookies

No third-party APIs. No proxies. No env vars needed (install script handles everything). All data stays on your machine.

Self-hosting

Works with Cloudflare Tunnel, ngrok, or any reverse proxy. Point your domain to localhost:3000. PocketBase runs on localhost:8090 (not exposed externally).

Multiple users can sign up and connect their own Twitter accounts. Each user's data is completely isolated.

About

Open source Twitter analytics. Track unfollowers, see who doesn't follow back, manage blocked/muted accounts, browse DMs. Unfollow directly from the app.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors