Backend Engineering
Upwork Automation — A Developer's Deep Dive
Automated Upwork job-harvesting and AI proposal-drafting pipeline.
Automated Upwork job-harvesting and AI proposal-generation pipeline.
The problem
Manually refreshing Upwork for new relevant jobs and hand-writing a tailored proposal for each one was slow and inconsistent, and the best jobs disappear fast.
The approach
Built a Laravel + Node.js pipeline that uses Puppeteer to harvest new job postings on a schedule, filters them against relevance criteria, and calls the OpenAI API to draft a tailored proposal for each match — ready for a quick human review before it goes out.
The outcome
Reduced manual Upwork checking by 80-90%; produced consistent AI-generated proposals.
Stack
Laravel, Node.js, Puppeteer, OpenAI API
Live architecture demo
See it move, not just read about it.
Re-using the original animation from the linked project — same diagrams and trace you see on the case-study page.
Upwork AI Proposal Pipeline
STAGE: HARVESTING & DRAFTINGPuppeteer harvests, OpenAI drafts, a human approves before send.
Autopilot Proposal Pipeline
STEP 1/6