Skip to content

chussboi96/linkedin-autopost

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LinkedIn AutoPost

An automated system that discovers AI/ML related content from the web, generates concise LinkedIn posts using a local LLM (Ollama + Qwen3:4b), and manages approval/scheduling via a Streamlit dashboard.

🚀 Features

  • Scrapes AI/ML news and discussions from multiple sources
  • Generates exactly 3-sentence LinkedIn posts with an educative, conversational tone
  • Human-in-the-loop approval (approve/reject/edit before posting)
  • Post scheduling with Celery + Redis
  • Streamlit-based dashboard for easy management

🛠 Tech Stack

  • Python 3.11
  • FastAPI – backend services
  • Celery + Redis – task queue & scheduling
  • Streamlit – dashboard UI
  • Ollama + Qwen3:4b – local LLM for generating posts
  • Docker & Docker Compose – containerized setup

📂 Project Structure

linkedin_autopost/
│── app/                  # Core backend services
│   ├── database/         # DB connection & models
│   ├── services/         # LLM, scraping, publishing
│   ├── tasks/            # Celery tasks
│   └── utils/            # Helpers & logging
│── dashboard/            # Streamlit dashboard
│── logs/                 # Log files
│── .env                  # Environment variables (not committed)
│── docker-compose.yml    # Multi-container setup
│── requirements.txt      # Python dependencies

⚙️ Setup & Run

  1. Clone the repo

    git clone https://github.com/chussboi96/linkedin_autopost.git
    cd linkedin_autopost
  2. Set up environment variables
    Create a .env file (use .env.example as a reference).
    Example:

    DATABASE_URL=postgresql+psycopg2://user:password@db:5432/linkedin
    REDIS_URL=redis://redis:6379/0
    OLLAMA_BASE_URL=http://host.docker.internal:11434
    OLLAMA_MODEL=qwen3:4b
  3. Run with Docker Compose

    docker compose up --build
  4. Access the dashboard

✅ Usage

  • Scraper finds new content automatically.
  • LLM generates draft LinkedIn posts.
  • Review drafts in the dashboard → approve/edit/reject.
  • Celery schedules & posts to LinkedIn.

🛡️ Security

  • .env is not committed to Git (contains secrets).
  • Use .env.example for reference.

📌 Future Improvements

  • Multi-account support
  • Richer analytics on post engagement
  • Custom LLM fine-tuning

👤 Author

Maintained by @chussboi96

About

Automated LinkedIn posting with content discovery, AI-generated posts, scheduling, and dashboard monitoring.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors