π Visualize job-market skill gaps from Himalayas jobs with NVIDIA NIM
β‘ 31 views Β· π Market Research & Insights
π‘ Pro Tip β HTTP Request scraping tends to break when sites update their markup. If youβre scraping a major platform, check if ScraperNode covers it β it has maintained scrapers for LinkedIn, Instagram, TikTok, YouTube, and 20+ other platforms that return structured data.
Description
Quick overview
Turn a job search into a measured system. This workflow scrapes live job posts, uses an LLM to extract the skills each one is asking for, compares that demand against the skills you list, and serves the result as a live radar page.
How it works
- π Open the webhook URL β the run starts.
- β»οΈ Cache gate β if nothing changed since last time, the saved page is returned instantly. Otherwise it recomputes.
- π₯Fetch jobs from a free, no-auth remote-jobs feed (Himalayas) β a wide recent window, every field, no company list.
- π― Filter & rank by your keywords (title hits weighted over description), newest as tie-break, capped to keep the LLM call managable.
- π€ Extract (LLM) β Sends each job posting to an OpenAI-compatible chat completions API to extract seniority and a structured list of must-have vs nice-to-have skills.
- π§ Score β each demanded skill is βhaveβ if it appears in your skills text, else βgapβ; the score is demand-weighted coverage.
- π Render & serve β the radar as a self-contained HTML page straight back to your browser.
Setup
- Add an HTTP Header Auth credential for your OpenAI-compatible LLM endpoint (for example
Authorization: Bearer <API_KEY>) and set the LLM URL/model values in the configuration. - Edit the βDesired job configβ values (keywords, maxJobs, feedPages/feedPerPage, llmUrl, llmModel) to fit your role and usage limits.
- Paste your resume/tools/skills as free text in βYour Skillsβ so the workflow can mark skills as covered vs gaps.
- Activate the workflow, copy the webhook Production URL, open it in a browser, and use
?refresh=1when you want to bypass the cache.
Additional info
ποΈ Good to know
- Refreshes are stable β the page only recomputes when you edit the keywords or skills, when the daily cache expires, or when you add
?refresh=1to the URL. - Job-neutral β keywords that literally appear in postings (engineer, python, sales, nurse) work best; very abstract terms fall back to the recent feed.
- Cost is bounded β one LLM call per job, capped by
maxJobs(default 25), and only on a cache miss. - Want a public, always-on page instead of on-demand? Route the rendered HTML to static hosting (GitHub Pages, etc.) after
Render.
π Nodes Used
HTTP Request, Webhook
π₯ Import
Download workflow.json and import into n8n:
Workflow menu β Import from File