LinkedIn Post Automation is an application designed to automate the process of creating, and posting content on LinkedIn. Leveraging AI-powered tools for content generation, this project enables users to optimize their LinkedIn posts for maximum engagement and professionalism.
- AI-Powered Content Generation: Automatically generate professional LinkedIn posts tailored to your input.
- Automated Posting: Schedule and post content directly to LinkedIn for multiple days.
- Framework: NextJs
- Styling: Tailwind CSS
- Framework: FastAPI, Redis, Dramatiq
- Languages: Python
The LinkedIn Post Automation system automates the entire process of content creation, and posting to LinkedIn. Here’s how it works:
- Frontend: The user provides a LinkedIn post topic (text-based prompt) on the NextJs interface.
- System Response:
- The frontend sends a request to the backend to generate the LinkedIn post content and custom image.
- The backend calls the AI model APIs (GROQ, Gemini) to generate the content based on the input topic.
- Similarly, the backend generates a custom image using AI models.
- The frontend receives the generated content (text) and image (as PNG).
- Backend Process:
- The backend uses the LinkedIn API to upload the image and post the content.
- The process includes two main steps:
- Image Upload:
- The backend uploads the image to LinkedIn using the
POST /assetsendpoint of the LinkedIn API. This creates a new image asset on LinkedIn. - The API responds with an asset ID (a unique identifier for the image).
- The backend uploads the image to LinkedIn using the
- Post Creation:
- The backend then uses the LinkedIn API's "Share on LinkedIn" endpoint to create a post. The request includes the post content and the image asset ID.
- The backend successfully creates the post and returns a confirmation message with the LinkedIn post details (URL, post ID).
- Image Upload:
- System Response: The frontend shows a success notification, confirming that the post has been successfully uploaded to LinkedIn.
- Frontend: User inputs a post topic description → Sends request to backend.
- Backend:
- Generates post content (AI-powered).
- Post Creation: Backend creates a LinkedIn post using the content asset ID → Post is uploaded to LinkedIn.
- Node.js (>= 16.x)
- Python (>= 3.8)
- Redis Insights
- Navigate to the client folder:
cd client - Install dependencies:
npm install
- Start the development server:
npm run dev
- Create a virtual environment and activate it:
uv venv .venv .venv/Scripts/activate
- Install dependencies:
uv pip install -r requirements.txt
- Create a
.envfile and add the following keys:ACCESS_TOKEN=<access_token> EMAIL=<email_id> GROQ_API_KEY=<groq_key> HUGGINGFACE_API_KEY=<huggingface_key> PASSWORD=<password> PERSON_URN_KEY=<urn_key> TAVILY_KEY=<tavily_key> REDIS_URL=<redis_url>
- Build the docker-compose:
docker-compose build
- Run the docker-compose file:
docker-compose up
Feel free to contribute by:
- Reporting issues
- Suggesting features
- Submitting pull requests
This project is licensed under the MIT License.

