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-prod
to.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
.env
with 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 server
You can run components separately:
Run just the web API and interface:
python -m server --app_only
Run just the data processing component:
python -m server --jetstream_only
Run 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.txt
to update tracked experts - Configure post lifetime and minimum engagement score
MIT