DEV Community

Cover image for Your Job Finder Companion
depa panjie purnama
depa panjie purnama

Posted on • Edited on

Your Job Finder Companion

n8n and Bright Challenge: Unstoppable Workflow

This is a submission for the AI Agents Challenge powered by n8n and Bright Data

What I Built

I built Your Job Finder Companion, an intelligent AI agent that automatically checks LinkedIn, Indeed, and Glassdoor for new opportunities and delivers concise, AI-analyzed summaries via Telegram. The agent helps you catch fresh roles quickly so you can apply before listings get crowded.

Demo

  • Workflow Video:
  • Telegram Video: Only Available on YouTube Short
  • LinkedIn Screenshot: LinkedIn
  • Indeed Screenshot: Indeed
  • Glassdoor Screenshot: Glassdoor
  • No job listings available Screenshot: no job found

How It Works

Send a Telegram message in the format:

Role name - Country
Enter fullscreen mode Exit fullscreen mode

Examples: Developer - US or Data Scientist - UK

The agent launches snapshot queries on the three platforms using those inputs and returns up to one listing per platform. You may receive up to three messages (one per platform), each including an AI summary and a direct apply link when available.

Example LinkedIn response format:

🎯 LinkedIn Job Found
━━━━━━━━━━━━━━━━━━━━
🏒 Google
πŸ’Ό Senior Software Developer
πŸ“ Mountain View, CA
πŸ’° $150,000 - $200,000

πŸ‘₯ Current Applicants: 12 candidates
πŸ“… Posted: 2 hours ago

πŸ€– AI Analysis:
- SCORE: 92
- Excellent opportunity at a leading tech company...

πŸ”— Apply: [Direct Link]
━━━━━━━━━━━━━━━━━━━━
Enter fullscreen mode Exit fullscreen mode

Or if no jobs are found:

❌ Sorry, no job listings available for the specified keyword within the last 24 hours.
Enter fullscreen mode Exit fullscreen mode

n8n Workflow

n8n Workflow
The current workflow consists of 21 nodes orchestrating the entire job discovery and notification process.
The complete workflow JSON is available here: GitHub Gist - Your Job Finder Companion

Technical Implementation

System Architecture

  1. Telegram Trigger: Receives user messages with job criteria
  2. Message Parser: Extracts role and country from "role - country"
  3. Data Collection: Creates Bright Data Marketplace Dataset snapshots for LinkedIn, Indeed, and Glassdoor
  4. Snapshot Processing: Polls snapshot metadata until ready, then retrieves content
  5. AI Analysis: Uses Google Gemini to score and summarize the listing
  6. Notification Delivery: Sends formatted messages back to Telegram

Model and Tools

  • AI Model: Google Gemini via the n8n LangChain Google Gemini Chat Model node
  • Communication: Telegram Bot API
  • Data Processing: JavaScript Code nodes for parsing and shaping data
  • Error Handling: Wait/poll loops for snapshot building; platform-specific failure notifications

Bright Data Verified Node

Bright Data Verified Node
The Bright Data integration is central to this solution, providing access to three marketplace datasets:

LinkedIn Dataset (gd_lpfll7v5hcqtkxl6l)

  • Filters: job_title includes role, country_code equals ISO-2 (uppercased), application_availability true, url includes http, job_posted_date within last 24 hours.
  • Example 24h filter:
{
  "name": "job_posted_date",
  "operator": ">",
  "value": "{{ new Date(Date.now() - 24 * 60 * 60 * 1000).toISOString() }}"
}
Enter fullscreen mode Exit fullscreen mode

Indeed Dataset (gd_l4dx9j9sscpvs7no2)

  • Filters: job_title includes role, country (lowercased), date_posted equals "Just posted".
  • Example:
{ "name": "date_posted", "operator": "=", "value": "Just posted" }
Enter fullscreen mode Exit fullscreen mode

Glassdoor Dataset (gd_lpfbbndm1xnopbrcr0)

  • Filters: job_title includes role (no recency filter in this version).

Journey

Development Process

Phase 1: Planning

  • Mapped user input to platform-specific filters and recency expectations
  • Researched Bright Data's marketplace datasets
  • Designed the workflow architecture

Phase 2: Implementation

  • Built n8n workflow with Telegram + Bright Data + AI analysis
  • Configured Bright Data nodes with appropriate filters
  • Implemented platform-specific recency constraints

Phase 3: AI Enhancement

  • Added Gemini agent to produce a SCORE and short prioritization summary
  • Developed scoring algorithm (1-100 scale)
  • Created platform-specific message formatting

Phase 4: Error Handling

  • Implemented waits/polling for snapshot readiness
  • Added failure messaging per platform
  • Created user-friendly error notifications

Challenges and Solutions

  1. Snapshot Timing

    • Different build times across datasets
    • Solution: Poll metadata; if not ready, wait and retry until content is retrievable
  2. Data Consistency

    • Different schemas per platform
    • Solution: Normalize essential fields and route by URL (LinkedIn/Indeed/Glassdoor)
  3. Recency Alignment

    • Varying recency controls per dataset
    • Solution: LinkedIn uses last 24h; Indeed uses "Just posted"; Glassdoor matches title only in this version
  4. User Experience

    • Deliver concise, actionable messages
    • Solution: Single best match per platform, AI SCORE + summary, direct apply link when possible

Key Learnings

  • Bright Data's marketplace datasets make it straightforward to access structured job listings without custom scraping
  • The snapshot pattern scales well for timely data retrieval
  • A compact AI summary helps users prioritize at a glance
  • Small UX choices (input format, per-platform messages) significantly impact usefulness
  • Proper error handling is crucial for user experience

Your Job Finder Companion demonstrates how n8n's workflow capabilities combined with Bright Data's robust datasets can create practical solutions that deliver immediate value to job seekers, ensuring they never miss opportunities from the last 24 hours.

Top comments (13)

Collapse
 
myopicoracle profile image
Gary Xia

@depapp This is very cool! I wanted to use the Crunchbase/Pitchbook datasets, but saw that the marketplace datasets had a minimum order amount of $250. Was this the case for the 3 datasets you used as well? Any insight appreciated!

Collapse
 
depapp profile image
depa panjie purnama

@myopicoracle hey, thanks a lot
for my project I actually didn’t purchase the datasets directly from the Bright Data marketplace. Instead, I just used the Bright Data verified node in n8n and pulled them via the β€œsnapshot by dataset” option. That way I could use the data right away without hitting the $250 minimum order thing.

Collapse
 
myopicoracle profile image
Gary Xia

@depapp Really appreciate you sharing this - very helpful! If you ever end up dropping this on Product Hunt, pls share the link!

Thread Thread
 
depapp profile image
depa panjie purnama

thanks Gary, that means a lot
this project was mainly for the n8n & Bright Data challenge, so no producthunt launch planned for now

Collapse
 
divyasinghdev profile image
Divya

This is an awesome project.

Collapse
 
depapp profile image
depa panjie purnama

thanks, @divyasinghdev
means a lot to me

Collapse
 
rjonesy profile image
R Jones

Neat

Collapse
 
depapp profile image
depa panjie purnama

thanks!

Collapse
 
_96afaa62530a90fdb1718 profile image
εŠ θ—€ηΉ

Rust Morse code

Collapse
 
depapp profile image
depa panjie purnama

"Rust Morse code"?
do you mean a project you’re working on, or an idea related to this?

Collapse
 
itsjustkai profile image
Just Kai

Cool! This helps a lot, especially those who struggle with scams lately.

Collapse
 
depapp profile image
depa panjie purnama

thanks.
yeah, scams have been a huge issue lately. glad if this can help even a little.

Some comments may only be visible to logged-in visitors. Sign in to view all comments.