A custom feed generator for Bluesky that surfaces high-quality SEO content based on expert engagement. Built with Python using the AT Protocol SDK.
- Custom algorithm tracking engagement from verified SEO experts
- Weighted scoring system for likes, reposts, and comments
- Time-decay factor for content freshness
- MySQL database for efficient data storage
- Web interface to view current feed content
- Configurable engagement thresholds and weights
- Automatic cleanup of outdated content
- Python 3.9+
- MySQL Database
- Bluesky account for feed publication
-
Clone the repository
-
Install dependencies:
pip install -r requirements.txt-
Configure environment variables:
- Copy
.env-prodto.env - Update the database credentials
- Set your
FEEDGEN_HOSTNAME
- Copy
-
Initialize the database:
python -m server --rebuild_database- Publish your feed:
python publish_feed.py- Update your
.envwith the generated feed URI
There are several ways to run the service based on your needs:
Run both the API server and Jetstream processor together:
python -m serverYou can run components separately:
Run just the web API and interface:
python -m server --app_onlyRun just the data processing component:
python -m server --jetstream_onlyRun with debug logging enabled:
python -m server --debug/.well-known/did.json- DID document/xrpc/app.bsky.feed.describeFeedGenerator- Feed metadata/xrpc/app.bsky.feed.getFeedSkeleton- Feed content/health- Service health check/- Web interface showing current feed content
- Adjust scoring weights in
.env - Modify
user_list.txtto update tracked experts - Configure post lifetime and minimum engagement score
MIT