The Problem
If you're looking for an AI engineering role in 2026, you're probably checking 10-20 individual career pages. Anthropic's Greenhouse page, OpenAI's careers site, DeepMind's jobs board, Cohere's Lever page...
General job boards like LinkedIn and Indeed have AI roles, but the filtering is terrible. Search "AI engineer" and you get results for "AI-powered customer service" and "engineer at an AI startup doing nothing related to AI."
I wanted a single page with every AI/ML/LLM role from every major AI company, updated automatically.
So I built LLMHire.
Architecture
Stack: Next.js 14 (App Router) + Supabase (PostgreSQL) + Vercel (hosting + crons)
The core idea is simple: most tech companies use one of three ATS platforms — Greenhouse, Ashby, or Lever. Each exposes a public API for their job listings. I built adapters for each.
The Fetcher Pattern
Each ATS has a fetcher module:
-
Greenhouse:
GET https://boards-api.greenhouse.io/v1/boards/{company}/jobs -
Ashby:
POST https://jobs.ashbyhq.com/api/non-auth-job-posting -
Lever:
GET https://api.lever.co/v0/postings/{company}
Each fetcher normalizes the response into a common schema:
- title, company, location, department
- remote/hybrid/onsite classification
- role type (ML Engineer, LLM Engineer, Research Scientist, etc.)
- posting date, description, apply URL
Auto-Categorization
Job title → role type mapping uses pattern matching:
- Contains "LLM" or "NLP" or "language model" → LLM Engineer
- Contains "ML" or "machine learning" → ML Engineer
- Contains "research" + "scientist" → AI Research
- Contains "infrastructure" or "platform" → AI Infrastructure
- Contains "prompt" → Prompt Engineer
This gets ~90% accuracy. Edge cases get manually reviewed.
Cron Jobs
Vercel cron jobs run every 4 hours (6x/day):
- Fetch all jobs from all companies
- Deduplicate against existing listings (by company + title + location hash)
- Mark stale listings (>30 days without refresh) for review
- Update search index
The Numbers
- 130+ companies tracked
- 670+ active positions
- ~50-100 new/updated listings per day
- Average fetch cycle: ~45 seconds for all companies
What the Data Shows
After tracking the AI job market for a few weeks:
- "LLM Engineer" is a real role now — distinct from ML Engineer, with different skill requirements
- Remote is declining — major labs want hybrid/onsite
- AI Infrastructure is booming — fastest growing subcategory
- Prompt Engineering peaked — being absorbed into broader roles
What's Next
- Workable integration (another ATS with significant AI company coverage)
- Salary data aggregation
- Weekly AI jobs newsletter
- Blog with hiring market analysis
Try It
LLMHire is completely free. No accounts, no fees, no signup required to browse. If you have feedback or companies I should add, drop a comment.
Top comments (0)