Caution
The test files in this project contain examples of hate speech, discriminatory language, and other potentially triggering content that are used to validate the content filtering system. These examples are necessary for testing purposes but may be distressing to read. Please exercise caution when reviewing the test files.
A specialized feed generator for the Bluesky social network that curates content related to the aromantic and asexual (aroace) community. This project aims to create a safe and inclusive space for aroace individuals to connect and share their experiences.
- Multi-language support (English, Spanish, French, German)
- Context-aware content filtering:
- Detects and includes positive discussions about ace/aro identity
- Filters out gaming-related "ace" mentions
- Handles mixed contexts appropriately
- Advanced language detection using NLP (Natural Language Processing)
- Spam and commercial content filtering
- Hate speech and negative content detection
- Support for Bluesky's native language tags
- Curated feed of aroace-related content on Bluesky
- Custom filtering and content moderation
- Real-time feed updates
- Community-driven content discovery
- Node.js 22.0.0 or higher
- A Bluesky account
- API credentials for Bluesky
- Clone the repository
git clone https://github.com/imigu/bluesky-aroace-feed.git
cd bluesky-aroace-feed
- Install dependencies
npm install
- Configure your environment variables
cp .env.example .env
# Edit .env with your Bluesky credentials
- Create a
.env
file with your Bluesky credentials:
BSKY_HANDLE=your-handle.bsky.social
BSKY_APP_PASSWORD=your-app-password
- Configure the feed settings in
config.js
if needed
Start the feed generator:
npm start
For development with auto-reload:
npm run dev
Run the test suite:
npm test
For test coverage:
npm run test:coverage
Note: The test suite contains examples of hate speech and discriminatory language used to validate the content filtering system. These examples are necessary for testing purposes but may be distressing to read.
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Special thanks to:
- Compromise (@spencermountain) for their incredible NLP library that powers our language detection and text analysis
- The Bluesky team for their open protocol and support
- The aroace community for their feedback and support
This project is licensed under the MIT License - see the LICENSE file for details.
Project Link: https://github.com/imigu/bluesky-aroace-feed
Made with ❤️ for the aroace community