A very simple CLI tool for scanning your followers and ranking by your reply engagement
7
fork

Configure Feed

Select the types of activity you want to include in your feed.

Update README

Woovie 24901f08 bbfac9bb

+24 -12
+24 -12
README.md
··· 9 9 - **Direct replies** (+10 points): When you reply directly to someone's post 10 10 - **Thread replies** (+3 points): When you reply in a thread started by someone you follow 11 11 - **Freshness bonus** (up to +50 points): Recent follows get bonus points that decay over 25 days 12 + - **Recency penalty** (-1 point per day): Accounts you haven't engaged with recently lose points. Accounts with zero engagement are penalized based on how long ago you followed them. 12 13 13 - Accounts with a score of 0 are ones you follow but haven't interacted with recently. 14 + Accounts at the bottom of the list are ones you followed long ago but have never interacted with. 14 15 15 16 ### Note 16 17 ··· 25 26 ## Usage 26 27 27 28 ```sh 28 - bun index.ts <handle> 29 + bun index.ts <handle> [target] 29 30 ``` 30 31 31 32 For example: 32 33 33 34 ```sh 34 - bun index.ts user.bsky.social 35 + # Analyze all your follows 36 + bun index.ts user.bsky.social > results.txt 37 + 38 + # Check score for a specific account 39 + bun index.ts user.bsky.social someone.bsky.social 35 40 ``` 36 41 37 - The tool will output: 42 + The tool outputs: 43 + - **stdout**: Space-separated scores (pipe to a file or other tools) 44 + - **stderr**: Progress logs as it fetches data 38 45 39 - - Progress logs as it fetches data from the Bluesky API 40 - - A summary of your top 5 highest-scored follows 41 - - A count of accounts with zero engagement 42 - - A file named `<handle>_engagement.txt` with all scores sorted from highest to lowest 46 + ### Caching 47 + 48 + On the first run, data is saved to `cache.json` for faster subsequent runs. Delete the file to refresh the data. 43 49 44 50 ## Output format 45 51 46 - The output file contains one line per followed account: 52 + The output is space-separated with a header row: 47 53 48 54 ``` 49 - handle.bsky.social 63 (engagement: 30, freshness: 33) 50 - another.user 10 (engagement: 10, freshness: 0) 51 - old.follow 0 (engagement: 0, freshness: 0) 55 + handle score engagement freshness recency 56 + handle.bsky.social 63 30 33 0 57 + another.user -20 10 0 -30 58 + old.follow -365 0 0 -365 52 59 ``` 60 + 61 + - **score**: Total score (engagement + freshness + recency) 62 + - **engagement**: Points from direct replies and thread participation 63 + - **freshness**: Bonus points for recent follows (decays over 25 days) 64 + - **recency**: Penalty for stale or missing engagement (negative values) 53 65 54 66 ## Requirements 55 67