See who doesn't follow you back on GitHub. Just a username, no sign-in, nothing stored on a server.
Features · Quick start · How it works · Privacy · Roadmap · Contributing
| 🔓 No sign-in | Type any GitHub username and check. No OAuth, no tokens, no passwords. |
| 📊 Clear dashboard | Five tabs with live counts: Not following back, Not mutuals, Mutuals, Followers, Following. |
| 🛡️ Protected list | Shield friends, mentors or orgs so they never show up in "Not following back". Saved in your browser only. |
| ✨ AI insights | Tick accounts and press Summarize for a short overview of your follow relationships and accounts worth reviewing. |
| 🔗 Unfollow on GitHub | Every row has an Open on GitHub button — you stay in control and unfollow on GitHub itself. |
| ⚡ Rate-limit aware | Pages load in parallel and you get a clear message before GitHub's hourly limit is hit. |
Note: Results show your current connections. GitHub's public API has no unfollow history, so this tool shows who doesn't follow back right now — not who unfollowed you and when.
Requirements: Node.js 20+ or Bun
git clone https://github.com/lewiii254/github-unfollower-finder.git
cd github-unfollower-finder
bun install # or: npm install
bun run dev # or: npm run devOpen the local URL shown in your terminal and enter a GitHub username.
The checker itself needs no configuration. The optional AI insights feature runs on the server and needs:
| Variable | Purpose |
|---|---|
LOVABLE_API_KEY |
Key for the AI Gateway used by the Summarize button (server-side only). |
| Command | Description |
|---|---|
bun run dev |
Start the dev server |
bun run build |
Production build |
bun run preview |
Preview the production build |
bun run test |
Run tests (Vitest) |
bun run lint |
Lint with ESLint |
bun run format |
Format with Prettier |
username ──► GitHub public API (from your browser)
│
├─ /users/:name profile + counts
├─ /users/:name/followers paginated, fetched in parallel
└─ /users/:name/following paginated, fetched in parallel
│
▼
compare sets in the browser
│
┌─────────────┼──────────────┬─────────────┐
▼ ▼ ▼ ▼
Not following Not mutuals Mutuals Followers / Following
back (minus protected accounts from localStorage)
│
▼ (optional, only accounts you tick)
server function ──► AI Gateway ──► summary + review list
Rate limits: unauthenticated GitHub requests are limited to about 60 per hour per IP, and each page holds 100 accounts. Very large accounts (~20,000+ combined connections) may not be checkable in one go.
- Nothing to sign into — the app never asks for GitHub access.
- Data stays in your browser — follower lists are fetched and compared on your device.
- Protected list is local — stored in
localStorageunderunfollow:whitelist. - AI is opt-in — only the usernames you tick, plus your counts, are sent when you press Summarize.
- No changes to your account — unfollowing only ever happens on GitHub, by you.
- TanStack Start — full-stack React 19 with server functions
- TanStack Router & Query
- Tailwind CSS v4 + shadcn/ui
- Lucide icons · Vite · Vitest
src/
├─ routes/index.tsx # The checker page and dashboard
├─ lib/insights.functions.ts # AI summary server function
├─ components/ui/ # shadcn/ui components
└─ styles.css # Design tokens and theme
- Optional personal token (kept in the browser) for higher rate limits
- Snapshot history to show real "unfollowed you since…" changes
- Export results as CSV / JSON
- Copy
ghCLI commands to bulk-unfollow from your terminal - Flag inactive accounts
- Sort by followers, join date and more
Have an idea? Open an issue.
Contributions of all sizes are welcome!
- Fork the repo
- Create a branch:
git checkout -b feature/my-idea - Commit:
git commit -m "Add my idea" - Push:
git push origin feature/my-idea - Open a pull request
Please run bun run lint and bun run test before submitting.
Released under the MIT License.
Built with Lovable · If this helped you, consider giving it a ⭐
0 comments
log in to comment.