PostPilot is a powerful platform that allows you to post content to multiple social media platforms simultaneously. Write once, post everywhere!
- Multi-Platform Support: Post to LinkedIn, Twitter/X, Facebook, Instagram, and TikTok
- Smart Content Validation: Automatically validates and adapts your content for each platform's requirements
- OAuth Authentication: Secure authentication for all supported platforms
- Media Support: Upload images and videos with platform-specific handling
- Content Adaptation:
- Auto-threading for long Twitter posts
- Platform-specific media rules (e.g., LinkedIn: video OR images, not both)
- Character limit validation
- Beautiful UI: Modern, responsive design
- Node.js 18+ and npm
- OAuth credentials for the platforms you want to use
- Clone the repository:
git clone git@github.com:FreeOps-Tools/postpilot.git
cd postpilot- Install dependencies:
npm install- Set up environment variables:
cp .env.example .envEdit .env and add your OAuth credentials for each platform you want to use.
- Go to LinkedIn Developers
- Create a new app
- Add redirect URI:
http://localhost:3001/auth/linkedin/callback - Request permissions:
r_liteprofile,r_emailaddress,w_member_social
- Go to Twitter Developer Portal
- Create a new app
- Set callback URL:
http://localhost:3001/auth/twitter/callback - Enable OAuth 2.0
- Go to Facebook Developers
- Create a new app
- Add Facebook Login product
- Set redirect URI:
http://localhost:3001/auth/facebook/callback - Request permissions:
pages_manage_posts,pages_read_engagement,instagram_basic,instagram_content_publish
- Uses Facebook OAuth (same app)
- Requires Instagram Business Account
- Set redirect URI:
http://localhost:3001/auth/instagram/callback
- Go to TikTok Developers
- Create a new app
- Set redirect URI:
http://localhost:3001/auth/tiktok/callback - Request permissions:
user.info.basic,video.upload
Start both frontend and backend:
npm run devOr run them separately:
# Backend only
npm run dev:server
# Frontend only
npm run dev:client- Frontend: http://localhost:5173
- Backend API: http://localhost:3001
npm run build
npm run build:server
npm startpostpilot/
โโโ server/ # Backend server
โ โโโ routes/ # API routes
โ โโโ services/ # Platform posting services
โ โโโ database.ts # Database setup
โ โโโ index.ts # Server entry point
โโโ src/ # Frontend React app
โ โโโ components/ # React components
โ โโโ services/ # API client
โ โโโ utils/ # Utilities
โ โโโ types/ # TypeScript types
โโโ data/ # SQLite database (created automatically)
- Authenticate: Connect your social media accounts via OAuth
- Create Content: Write your post and upload media
- Select Platforms: Choose which platforms to post to
- Validate: System validates content against platform rules
- Post: Content is posted to all selected platforms
- โ Long text supported
- โ One video OR multiple images (not both)
- โ No character limit
- โ 280 character limit (free tier)
- โ Auto-threading for long content
- โ Up to 4 images or 1 video
- โ Flexible media support
- โ Can combine video and images
- โ No character limit
- โ Up to 10 images or 1 video
- โ 2,200 character caption limit
- โ Requires business account
- โ Video-only platform
- โ 2,200 character description limit
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature - Commit your changes:
git commit -m 'Add some feature' - Push to the branch:
git push origin feature/your-feature - Submit a Pull Request
This project is licensed under the MIT License.
We appreciate your contribution to PostPilot. Together, we can make this project even better!
If you have any questions or need assistance, don't hesitate to reach out to rufilboy@gmail.com.
Happy coding! ๐