YouTube Engagement Automation Desktop App

Job ID: 40582422

Budget: €250 – €750 EUR

Role: Senior Python Developer & Automation Engineer

Task: Design and implement a robust Linux-based desktop application for YouTube video engagement automation. The application must manage multiple Gmail accounts, utilize geographically persistent proxies, and simulate human-like viewing behavior with AI-generated comments. The core logic must rely on Hashtag-Based Categorization to isolate accounts and proxies.

Core Features & Requirements:

Account & Proxy Management with Geographic Persistence:

Support for importing multiple Gmail accounts with passwords.
One Proxy Per Account: Each Gmail account is permanently or semi-permanently assigned to a single proxy IP.
Geographic Fallback Logic:
When a proxy for an account fails (or is first assigned), the system must select a new proxy based on geographic proximity.
Priority 1: Same City/Town as the previous/assigned proxy.
Priority 2: If no proxies are available in the same City, select one from the same State/Region.
Priority 3: If no proxies are available in the same State, select one from the same Country.
A GUI/CLI to manage proxy pools (e.g., JSON file or API connection to a proxy provider).

Hashtag-Based Category Isolation (The "Tag Bucket" System):

Hashtag Extraction:
For any target video, the app must scrape the video description or DOM to extract all hashtags (e.g., #GTA5, #OpenWorld, #RockstarGames).
Primary Category Key: Use the first or most frequent hashtag as the primary "Category Bucket" identifier (e.g., if a video has #GTA5 and #Gaming, the bucket is GTA5).
Isolation Logic:
Create a logical "Bucket" for each unique Hashtag (e.g., Bucket_GTA5, Bucket_Anime, Bucket_Tech).
Account Assignment:
If the target video’s primary hashtag is new (e.g., switching from a #GTA5 video to an #Anime video):
Identify Gmail accounts that have not been used in this specific Hashtag Bucket before.
Assign these fresh accounts (and their associated geographic proxies) to this new bucket.
Persistence: Once an account is used for a specific hashtag (e.g., #GTA5), it remains in that bucket for future videos with the same primary hashtag to build niche authority.
Storage: Use a SQLite database to track: Account_ID -> Assigned_Hashtag_Bucket -> Assigned_Proxy_IP -> Last_Activity.

Automated Viewing Sequence (The "Watch Flow"):

Pre-Watch: Randomly select and watch 1–5 other videos that share the same primary hashtag to warm up the viewer profile.
Main Watch: Watch the target video for a configurable duration (e.g., 75%–100%) to count as a "view."
Post-Watch: Randomly select and watch 1–5 more videos with the same primary hashtag.
Note: "Watch" implies keeping the video tab active, handling ads, and simulating mouse movements/inactivity intervals.

Engagement Actions (Like, Subscribe, Comment):

Like: Click the "Like" button on the target video.
Subscribe: Click the "Subscribe" button.
AI-Generated Comments:
Extract key phrases, subtitles, or transcript snippets from the target video.
Send this text context to an LLM API.
Generate a unique, context-aware comment for each account.
Post the comment on the target video.

Configuration Dashboard:

Allow users to define:
Number of views/subscribers/likes/comments per video.
Proxy provider settings.
AI Provider settings (API key, model selection).
Speed and randomization intervals.
Hashtag Strategy: Option to use the first hashtag or the most frequent hashtag as the primary bucket key.

Tech Stack Preferences:

Language: Python 3.10+
Browser Automation: Playwright (preferred for speed and modern API) or Selenium.
GUI Framework: PyQt6 or Streamlit.
Storage: SQLite for tracking Account-Hashtag-Proxy relationships.
AI Integration: requests or openai library.

Deliverables:

Database Schema: Design the SQLite schema for tracking Accounts, Proxies, Hashtag Buckets, and Assignment History.
Hashtag Extraction Logic: Python function using Playwright/Selenium to scrape hashtags from a YouTube video description.
Proxy Selection Algorithm: Pseudo-code or Python function implementing the City -> State -> Country fallback logic.
Bucket Assignment Logic: Python class or function that determines which accounts are "fresh" for a new hashtag and assigns them.
Core Automation Engine: Python code structure for the viewing flow, including the AI comment generation.
Anti-Bot Strategy: Recommendations for handling YouTube's detection (cookie management, viewport resizing, idle timers) specifically for the Hashtag Bucket system.
Related categories: Python Web Scraping SQLite Selenium Automation