Pull your scrobbles. Craft a digest. Post a thread. ScrobbleForge turns raw listening data into polished, shareable weekly stories — automatically.
ScrobbleForge has three core workflows. Pick the one that fits you.
Pull your top artists, tracks, and albums from any time window. Preview before you post, tweak the style, then send it to Bluesky as a thread.
Set a day and time, then walk away. ScrobbleForge runs in the background and posts your digest to Bluesky every single week — zero manual effort.
ScrobbleForge is fully open-source. Extend it, fork it, adapt the digest logic for any platform, or just see how the automation pipeline works under the hood.
From raw scrobble data to a polished Bluesky thread — ScrobbleForge handles the whole pipeline.
Pulls your full scrobble history via the Last.fm API. Weekly and monthly windows. Top artists, tracks, albums, and total listening hours — all live.
Toggle emojis and play counts, choose sections (artists / tracks / albums), write a custom intro, set hashtags, and control how many entries appear. Your digest, your voice.
One-click posting to Bluesky via the AT Protocol. ScrobbleForge builds a proper threaded reply chain — header post, artists, tracks, albums — not a wall of text.
Pick a day of the week and hour. ScrobbleForge runs a background thread that wakes up at the exact moment and posts without you lifting a finger. Start and stop any time.
Filter your digest by album, genre tag, or track keyword before generating. Drill into a specific release or era without changing your scrobble history.
Unique artists and tracks, most active day, average scrobbles per day, and estimated listening hours. At-a-glance stats that put your period in context.
ScrobbleForge is a local Python app. No server required — runs entirely on your machine.
Get the source from GitHub and enter the project directory.
One command installs Streamlit, pandas, and the API clients.
Add your Last.fm API key and Bluesky credentials to .env.
Run streamlit run app.py — the app opens in your browser at localhost:8501.