AI-powered automated Twitter posting system for freelance web developers to attract international clients and convert them into paying customers.
This system generates high-quality, revenue-focused Twitter content using OpenAI's API and automatically posts it on a scheduled basis to maximize international client acquisition. The content strategy is specifically designed for freelance web developers who specialize in landing pages, SaaS, and full-stack applications.
- AI-Powered Content Generation: Uses OpenAI GPT-4 to create engaging, professional content
- 6 Content Types: Web dev tips, tool recommendations, case studies, industry insights, engagement posts, and portfolio highlights
- Global Scheduling: Posts every 4-6 hours to catch international time zones
- Revenue Optimization: Strategic CTAs and social proof in every post
- Performance Analytics: Tracks post performance to optimize for conversions
- Hashtag Optimization: Smart hashtag selection for maximum discoverability
- Error Handling: Robust error handling and retry mechanisms
The system generates content in 6 different types with specific distribution percentages:
- Web Dev Tips (35%) - Quick, actionable advice that showcases expertise
- Tool Recommendations (20%) - Curated tools with affiliate potential
- Case Studies (15%) - Client success stories with metrics
- Industry Trends (15%) - Forward-thinking insights on web dev
- Engagement Posts (10%) - Questions and polls to boost visibility
- Portfolio Highlights (5%) - Showcase your best work with results
- Node.js (v14 or higher)
- OpenAI API key
- Twitter Developer Account with API keys
-
Clone the repository:
git clone https://github.com/your-username/auto-tweet-post.git cd auto-tweet-post -
Install dependencies:
npm install
-
Configure environment variables:
cp .env.example .env
Edit the
.envfile and add your API keys:OPENAI_API_KEY- Your OpenAI API keyTWITTER_API_KEY- Your Twitter API keyTWITTER_API_SECRET- Your Twitter API secretTWITTER_ACCESS_TOKEN- Your Twitter access tokenTWITTER_ACCESS_SECRET- Your Twitter access secretTWITTER_BEARER_TOKEN- Your Twitter bearer token
-
Start the application:
npm start
-
For development:
npm run dev
Content types and their distribution can be configured in src/config/schedule.js.
Hashtags are configured in src/config/hashtags.js with different categories:
- Core hashtags (always included)
- Industry-specific hashtags
- Trending hashtags
- Engagement hashtags
The posting schedule is configured in src/config/schedule.js:
- Default: Every 6 hours (0 */6 * * *)
- Alternative: Every 4 hours (0 */4 * * *)
The system stores data locally in the src/data/ directory:
posted-content.json- History of posted contentanalytics.json- Performance analyticsfailed-posts.json- Failed posting attempts
The system uses Winston for logging with different levels:
- Error logs:
logs/error.log - Combined logs:
logs/combined.log
Run tests with:
npm testsrc/
├── config/ # Configuration files
├── services/ # External service integrations
├── utils/ # Utility functions
├── data/ # Local data storage
└── index.js # Main application entry point
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a pull request
MIT License
For support, please open an issue on the GitHub repository.