Project Overview
Introduction
OLJAlerts is a keyword-based job alert system for OnlineJobs.ph. Users subscribe to keywords via a Telegram bot, and the system automatically scrapes job postings, matches them against active subscriptions, and delivers formatted alerts - all powered by n8n workflows and PostgreSQL in a fully decoupled, modular architecture.
Challenges
⏺ Manual Job Searching: Constantly refreshing job boards to find relevant postings is tedious and time-consuming.
⏺ Keyword Tracking: Manually checking if new jobs match specific skills or roles across hundreds of postings.
⏺ Timely Notifications: Missing out on fresh job opportunities because there's no instant alert mechanism.
Solution
OLJAlerts automates the entire pipeline: n8n workflows scrape OnlineJobs.ph every 8 minutes for new jobs and every 15 minutes for recently updated ones, storing them in PostgreSQL. A separate workflow polls for unprocessed jobs every 20 seconds, matches keywords against job titles and descriptions using word-boundary regex, and sends HTML-formatted Telegram alerts to matched subscribers.
Key Features
✔ Real-Time Job Alerts: Subscribers receive instant Telegram notifications when jobs match their keywords.
✔ Word-Boundary Matching: Precise keyword matching using regex - 'ai' matches 'AI specialist' but not 'PAID'.
✔ Auto-Cleanup of Blocked Users: Automatically removes subscriptions when users block the bot.
✔ Decoupled Architecture: Each workflow operates independently through PostgreSQL - one failure doesn't affect others.
Tools Used
Git