All projects

AI-Powered Job Discovery Automation In Development

A personal automation that finds relevant job listings, uses AI to judge how well each one fits and explain why, then drafts a tailored cover letter — so the manual part of a job search comes down to reviewing and sending. Built as a prototype on an n8n trial; some of the pipeline is still being built.

Personal project 2025 – present n8n · Apify · Google Gemini · Google Sheets

The problem

A serious job search on a site like OnlineJobs.ph means checking new listings every day, reading each one to judge whether it’s a good fit, and writing a fresh cover letter for the ones that are. Most of that is repetitive reading and drafting. The goal of this project is to automate the repetitive part and leave a person with a short, pre-assessed list and a draft they can edit and send.

What I built

An n8n workflow that runs on a schedule and moves each listing through a short pipeline:

  • A daily schedule trigger starts the run.
  • An Apify actor scrapes current OnlineJobs.ph listings.
  • The results are limited to a manageable batch.
  • AI step 1 (Google Gemini) scores each job for how well it fits the applicant and returns its reasoning.
  • AI step 2 (Google Gemini) drafts a tailored cover letter for the job.
  • Each row — listing, score, reasoning and draft — is written to a Google Sheet.

Status

Currently built

  • Scheduled daily run
  • Apify actor scrapes OnlineJobs.ph listings
  • Result limiting
  • AI scoring of job fit, with reasoning
  • AI-drafted cover letter per job
  • Results written to a Google Sheet

In progress

  • Refining the filtering and relevance logic

Planned

  • A dedicated database in place of the sheet
  • A dashboard to browse and track roles
  • Email / Telegram notifications
  • Persistent hosting

This is a prototype built on an n8n trial. It is not running as a hosted production system, and the numbers it produces have not been formally evaluated.

Architecture

Key technical decisions

  • Apify for scraping. Using a managed actor keeps the fragile part — parsing a third-party site — out of the workflow logic.
  • Two separate AI steps. Scoring and drafting are different jobs with different prompts; splitting them keeps each prompt focused and the output easy to check.
  • Scoring returns reasoning, not just a number. A short explanation makes it possible to sanity-check the model and tune the prompt.
  • Google Sheets as the first store. A sheet was the fastest way to see results and iterate; moving to a real database is the next step.
  • Batch limiting. Capping how many listings are processed per run keeps API usage predictable during development.

What it demonstrates

This project is the clearest example of the direction I’m moving in: combining scraping, AI and a structured data store into a workflow that removes repetitive manual work. The same pattern — collect, assess with AI, store, notify — applies directly to business tasks like lead qualification, document triage and inbound-request routing.

Links

← Back to all projects