Community Bots: Giving Underrepresented Voices an Automated Megaphone
I started the community-bots project because I kept noticing how much great content exists in the PyLadies and RLadies+ communities - blog posts and open-source libraries - and how little of it may travel beyond each community’s immediate circle. This feels like a missed opportunity and so I built bots to help.
Through the community-bots project, I’m running two bots on Bluesky - one for PyLadies and one for RLadies+ - that automatically share community-created content on a regular schedule.
What the Bots Do
Each bot does a few different things. It boosts posts tagged with #pyladies or #rladies, so content from community members reaches a wider audience automatically. It also draws from two curated lists - awesome-pyladies-creations and awesome-rladies-creations - and shares blog posts and open-source libraries from community members on a rolling basis. The bots also share portraits of women in tech from the Amazing Women in Tech gallery and celebrate community achievements.
How It All Works
The whole setup lives in a GitHub repository and uses GitHub Actions as a CRON trigger. When the schedule fires, Python scripts pull from the curated lists, figure out what hasn’t been posted yet, and compose the post. I also added a Google Gemini integration that generates short summaries of blog posts before sharing them, giving readers a quick sense of what to expect.

Alternative text
Diagram showing the bot architecture: GitHub Actions triggers a Python script on a regular schedule. The script gathers RSS feed content, calls the Gemini API to generate a summary, then combines the title, author, hashtags, link, and summary into a post that is published to Bluesky.
If you want to learn more about the technical details, I wrote about building the bots and adding Gemini in earlier posts.
Where Things Are Now
The bots have grown to 1,900+ followers on Bluesky combined (as of May 2026) and are posting regularly. The Mastodon bots are currently paused while I look for a new instance to host them - if you have ideas or can help, feel free to open an issue or reach out.
I also had the chance to talk about the project at PyConDE/PyData 2025 and PyLadiesCon 2023, which was a lot of fun.
Want to Get Involved?
Share Content
The curated lists that the bots draw from are open for contributions. If you know of a PyLadies or RLadies+ blog, a library built by a community member, or a woman in tech worth highlighting, I’d love to hear from you!
Contribute to the Code
If you want to dive deeper into the code, I recently refactored the codebase to make it easier to contribute to. The bots are now organized into standalone modules, each responsible for one thing, with dependency management through uv and pre-commit hooks. Getting set up locally is as simple as running uv sync. One addition I’m particularly happy with is debug.py - a single entry point for testing any bot module locally. You configure which bot, which scenario, which platform, and whether to actually post, and it defaults to a dry-run mode that logs everything the bot would do without touching any live account. The debug guide walks through each scenario in detail, and the full documentation also covers the architecture and a contribution guide.
You can find everything at cosimameyer.github.io/community-bots.