Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LinkedIn Autopilot

LinkedIn Easy Apply automation tool built with Playwright that logs in, discovers jobs, auto-fills application forms with profile data and AI-assisted answers, tracks runtime state, and generates session reports.

Requirements

  • Python 3.11+
  • Windows PowerShell (recommended for bootstrap scripts)

Project Layout

src/
  app.py                      # Main orchestration flow
  config.py                   # Loads config/data.json
  logging_setup.py            # Shared Rich logging + console
  models.py                   # SessionStats and JobRecord
  __main__.py                 # python -m src entrypoint
  automation/
    easy_apply_agent.py
    answering_mixin.py
    form_interaction_mixin.py
    modal_submit_mixin.py
  services/
    ai.py
    linkedin.py
    reporting.py
  storage/
    json_store.py
  ui/
    dashboard.py

config/
  data.json                   # Candidate/job preferences (local private data)

assets/
  dummy.pdf                   # Local sample resume (replace with your own)

runtime/
  application_history.json    # Runtime state
  daily_stats.json            # Runtime state
  job_queue.json              # Runtime state
  linkedin_state.json         # Runtime state
  session_report.html         # Generated report output

scripts/
  start.ps1                   # Bootstrap .venv, install deps if needed, run app
  start.cmd                   # cmd wrapper for start.ps1

main.py                       # Root launcher (calls src.app.run)
requirements.txt              # Python dependencies
pyproject.toml                # Packaging metadata
tests/                        # Unit tests

Quick Start (Recommended)

  1. Create local config files from the samples:
Copy-Item .env.example .env
Copy-Item config/data.sample.json config/data.json

Then edit your local .env and config/data.json with your real values.

  1. Run bootstrap script (creates .venv, installs requirements if changed, then runs app):
powershell -ExecutionPolicy Bypass -File scripts/start.ps1

From cmd:

scripts\start.cmd

Setup Only (No Launch)

Use this when you only want environment + dependency setup:

powershell -ExecutionPolicy Bypass -File scripts/start.ps1 -NoRun

Manual Run Options

Run with root launcher:

.\.venv\Scripts\python.exe main.py

Run as module:

.\.venv\Scripts\python.exe -m src

Optional console script (after editable install):

.\.venv\Scripts\python.exe -m pip install -e .
linkedin-autopilot

Tests

.\.venv\Scripts\python.exe -m unittest discover -s tests -p "test_*.py"

Screenshots

Session screenshot 1

Session screenshot 2

Configuration

  • Edit your local .env and config/data.json with your own values.
  • Set application_settings.resume_path to your resume file path (for example assets/your_resume.pdf).
  • Runtime/session files are stored in runtime/.

Run

  • Windows quick start: powershell -ExecutionPolicy Bypass -File scripts/start.ps1
  • Manual run: python main.py
  • Module run: python -m src

About

Automated LinkedIn Easy Apply tool using Playwright to discover jobs, auto-fill forms, and leverage AI for candidate answers.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages