← All projects
AutomationBackend

Autonomous Upwork Pipeline

Automated job-hunting with LLM scoring, client quality signals, and Telegram delivery.

Composite scoringTelegram alertsZero manual reviewSQLite dedup

The Problem

Manually browsing Upwork for relevant jobs is time-consuming and inconsistent. Most job boards have no intelligence layer — you see everything or nothing.

Approach

Built a two-version pipeline. V1: RSS parsing + LLM scoring + Telegram alerts. V2: added client quality scoring, feedback loop with Telegram inline keyboard, and watchdog health monitoring.

Architecture

feed_parser.py (RSS + SQLite dedup) → client_scorer.py (deterministic pre-filtering) → ai_filter.py (Ollama LLM relevance scoring) → notifier.py (Telegram). Composite scoring: 50% AI relevance, 25% client quality, 25% competition opportunity. feedback_loop.py logs apply/skip decisions to a feedback DB for future model improvement.

Results

Zero manual job browsing. Fully passive market data collection. Composite score filters signal from noise.

V2 pipeline architecture
V2 pipeline architecture