ChirpSyncer
Bi-directional synchronization between Twitter (X) and Bluesky with advanced scheduling, search, analytics, and cleanup automation. Built for power users who want full control over their social media presence.

π Get Started β’ π Documentation β’ π¬ Community β’ βοΈ Managed Hosting
β¨ Features
Core Synchronization
- Bi-Directional Sync: Automatically sync posts between Twitter and Bluesky
- Thread Support: Full conversation threading with proper ordering
- Media Handling: Images, videos, and GIFs with automatic compression
- Rate Limiting: Intelligent throttling to respect API limits
- Deduplication: Never post the same content twice
Content Management
- Advanced Search: FTS5-powered full-text search with filters
- Search by content, author, date range, engagement metrics
- Boolean operators (AND, OR, NOT)
- NEAR operator for phrase proximity
- Save and organize search results
- Collections: Organize tweets into custom collections
- Export: Export to JSON, CSV for backup and analysis
- Saved Content: Bookmark important tweets with notes
Scheduling & Automation
- Tweet Scheduler: Schedule tweets for optimal posting times
- Recurring Posts: Set up automated recurring content
- Cleanup Rules: Auto-delete old tweets based on custom criteria
- Age-based cleanup (e.g., delete tweets older than 30 days)
- Engagement thresholds (keep high-performing content)
- Pattern matching (cleanup based on hashtags, keywords)
- Maintenance Tasks: Automated database cleanup and optimization
Analytics & Reporting
- Engagement Tracking: Monitor likes, retweets, replies, impressions
- Growth Analytics: Track follower growth over time
- Top Content: Identify your best-performing tweets
- Custom Reports: Generate HTML, JSON, or CSV reports
- Email Delivery: Automated report delivery via SMTP
Enterprise Features
- Multi-User Support: Separate accounts for teams
- Role-Based Access: Admin and user roles with permissions
- Encrypted Credentials: Secure storage of API credentials
- Audit Logging: Track all user actions
- Session Management: Secure authentication with timeout
Developer Experience
- REST API: Full-featured API for integrations
- Web Dashboard: Beautiful Flask-powered UI
- CLI Tools: Command-line interface for automation
- Self-Hosted: Full control over your data
- Docker Support: One-command deployment
π Quick Start
Self-Hosted Installation
Option 1: Automated Installer (Recommended)
# Clone repository
git clone https://github.com/lucimart/ChirpSyncer.git
cd ChirpSyncer
# Run installer
sudo ./scripts/install.sh
# Configure credentials
sudo nano /opt/chirpsyncer/.env
# Start service
sudo systemctl start chirpsyncer
# Access dashboard
http://localhost:5000
Option 2: Docker
# Clone and start
git clone https://github.com/lucimart/ChirpSyncer.git
cd ChirpSyncer
docker-compose up -d
# Access dashboard
http://localhost:5000
Option 3: Manual Installation
# Install dependencies
sudo apt-get install python3 python3-pip python3-venv sqlite3
# Clone repository
git clone https://github.com/lucimart/ChirpSyncer.git
cd ChirpSyncer
# Create virtual environment
python3 -m venv venv
source venv/bin/activate
# Install Python packages
pip install -r requirements.txt
# Configure environment
cp .env.example .env
nano .env
# Initialize database
python3 -c "from app.core.db_handler import init_db; init_db()"
# Start application
python3 app/main.py
NAS Deployment
Deploy to your Synology, QNAP, or TrueNAS:
# From your local machine
cd ChirpSyncer
./scripts/deploy-to-nas.sh
See our NAS Deployment Guide for detailed instructions.
π° Pricing
Self-Hosted (Free Forever)
$0/month
- β
All features included
- β
Unlimited users
- β
Unlimited syncs
- β
Full source code access
- β
Community support
- β
Self-managed updates
- β οΈ You manage: server, updates, backups, security
- β οΈ Requires: Linux server, basic sysadmin knowledge
Perfect for:
- Tech enthusiasts
- Privacy-conscious users
- Organizations with IT staff
- Users who want full control
π Self-Hosting Guide
Managed Hosting
$2/month (billed annually) or $3/month (monthly)
- β
All features included
- β
Fully managed infrastructure
- β
Automatic updates
- β
Daily backups
- β
99.9% uptime SLA
- β
SSL/TLS encryption
- β
Priority email support
- β
No server management required
- β
Cancel anytime
Perfect for:
- Non-technical users
- Busy professionals
- Users who value convenience
- Those who want guaranteed uptime
Whatβs Included:
- Dedicated instance (not shared hosting)
- Your own domain or subdomain
- Automatic SSL certificates (Letβs Encrypt)
- Daily encrypted backups (30-day retention)
- Email notifications and alerts
- 24/7 monitoring
- Managed updates (with opt-out)
Fair Use Policy:
- Up to 10,000 API calls/day
- Up to 5 user accounts
- Up to 10GB database storage
Need more? Custom plans available for teams and high-volume users.
π Use Cases
Personal Brand Management
- Sync your Twitter presence to Bluesky automatically
- Schedule content for optimal engagement times
- Track which posts perform best on each platform
- Auto-cleanup old low-engagement content
- Manage multiple client accounts
- Bulk scheduling with CSV import
- Analytics reporting for clients
- Team collaboration with role-based access
Content Creators
- Cross-post to multiple platforms effortlessly
- Search your entire tweet history instantly
- Export top-performing content for repurposing
- Automated archiving for compliance
Researchers & Journalists
- Archive and search social media conversations
- Track specific topics with saved searches
- Export data for analysis
- Maintain compliance with data retention policies
Businesses & Organizations
- Centralized social media management
- Team collaboration with audit trails
- Automated content distribution
- Analytics for ROI tracking
ποΈ Architecture
ChirpSyncer is built with production-ready technologies:
βββββββββββββββββββββββββββββββββββββββββββββββββββ
β Web Dashboard β
β (Flask + Jinja2 + JS) β
βββββββββββββββββββ¬ββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββ΄ββββββββββββββββββββββββββββββββ
β Application Layer β
βββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Auth & Security β Features β Services β
β - User Manager β - Scheduler β - Notif. β
β - Credentials β - Analytics β - Tasks β
β - Decorators β - Search β - Stats β
βββββββββββββββββββ¬ββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββ΄ββββββββββββββββββββββββββββββββ
β Integration Layer β
βββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Twitter/X β Bluesky β Media β
β - Scraper β - AT Protocol β - Handler β
β - API Wrapper β - Auth β - Compress β
βββββββββββββββββββ¬ββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββ΄ββββββββββββββββββββββββββββββββ
β Data Layer β
βββββββββββββββββββββββββββββββββββββββββββββββββββ€
β SQLite Database (FTS5 enabled) β
β - Users & Auth - Scheduled Tweets β
β - Sync History - Analytics β
β - Search Index - Saved Content β
βββββββββββββββββββββββββββββββββββββββββββββββββββ
Technology Stack:
- Backend: Python 3.10/3.11
- Web Framework: Flask
- Database: SQLite with FTS5
- Search: Full-text search with porter stemming
- Scheduler: APScheduler (cron-based)
- Authentication: Secure sessions with encrypted credentials
- API Clients: atproto (Bluesky), twscrape (Twitter)
- Testing: pytest (422 tests, 100% coverage)
π Documentation
π Complete Documentation Index - Browse all documentation organized by topic
Getting Started
Deployment
Technical Reference
Architecture & Development
π€ Contributing
We welcome contributions from the community!
Ways to Contribute
- π Report bugs and issues
- π‘ Suggest new features
- π Improve documentation
- π§ Submit pull requests
- β Star the repository
- π¬ Help others in discussions
Development Setup
# Clone repository
git clone https://github.com/lucimart/ChirpSyncer.git
cd ChirpSyncer
# Create virtual environment
python3 -m venv venv
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Run tests
pytest tests/ -v
# Check coverage
pytest --cov=app --cov-report=html
Code Quality Standards
- β
All code must have tests
- β
Maintain 95%+ test coverage
- β
Follow PEP 8 style guide
- β
Document all public APIs
- β
No breaking changes without discussion
See our Contributing Guide for more details.
π Why ChirpSyncer?
vs. Manual Cross-Posting
- β Manual: Copy-paste between platforms, time-consuming, error-prone
- β
ChirpSyncer: Automated sync, schedule once, post everywhere
- β Commercial: $15-50/month, limited features on free tier, data not owned
- β
ChirpSyncer: Free self-hosting or $2/month managed, all features, full data control
vs. IFTTT/Zapier
- β Automation platforms: Limited to basic triggers, no analytics, no search
- β
ChirpSyncer: Advanced features, analytics, full-text search, proper threading
vs. Building Your Own
- β DIY: Months of development, API complexities, ongoing maintenance
- β
ChirpSyncer: Production-ready, battle-tested, active development
π Security & Privacy
We take security seriously:
- Encrypted Credentials: All API keys stored encrypted in database
- Secure Sessions: Flask sessions with timeout and CSRF protection
- Role-Based Access: Granular permissions for multi-user setups
- Audit Logging: Track all user actions
- HTTPS Support: Built-in SSL/TLS for web dashboard
- Input Validation: Comprehensive sanitization of all inputs
- SQL Injection Protection: Parameterized queries throughout
- No Telemetry: We donβt collect any usage data (self-hosted)
Managed Hosting Additional Security
- Encrypted Backups: AES-256 encryption at rest
- Isolated Instances: Your data never shared with other users
- Network Security: Firewall rules, DDoS protection
- Regular Updates: Security patches applied within 24 hours
- SOC 2 Compliant Infrastructure (coming soon)
π Roadmap
v2.0 (Q2 2026)
v2.1 (Q3 2026)
Future Considerations
Vote on features β
Get Help
Stay Updated
- GitHub: Star and watch the repository
- Twitter: @ChirpSyncer (coming soon)
- Bluesky: @chirpsyncer.bsky.social (coming soon)
- Newsletter: Monthly updates on features and tips (coming soon)
π License
ChirpSyncer is open source software licensed under the MIT License.
You are free to:
- β
Use commercially
- β
Modify
- β
Distribute
- β
Private use
See LICENSE for full details.
π Acknowledgments
ChirpSyncer is built on the shoulders of giants:
- Flask - Web framework
- SQLite - Embedded database
- atproto - Bluesky Python SDK
- twscrape - Twitter scraping library
- APScheduler - Task scheduling
- All our amazing contributors!
π Project Stats
- 422 Tests - 100% passing
- 100% Coverage - All code tested
- 7 Sprints - Systematic development
- 28 Modules - Clean architecture
- 15,000+ Lines - Production-ready code
- 8 Components - Modular design
- 2 Platforms - Twitter & Bluesky
Ready to sync your social media?
Self-host for free or let us manage it for $2/month
Made with β€οΈ by the ChirpSyncer Team
Β© 2026 ChirpSyncer. MIT License.