From the blog · Page 7
How we build, what we learn, what we ship.
Posts about indexing public job postings at scale, salary parsing, and the systems that keep one universal JSON schema feeling small even as the source list keeps growing.
Indeed API key: why there isn't one, and what to use instead
The Indeed publisher key stopped working in 2023 and was never replaced with a self-serve equivalent. How to recognise the tutorials that predate the shutdown, what credentials Indeed issues today and to whom, and the working path if your goal is reading Indeed job postings.
Unified API platforms: the two kinds, and which one job data needs
The unified API category contains two products that get confused constantly - one reads your customer's systems with their credentials, the other reads public data nobody has to authorize. They solve different problems, fail in different ways, and only one of them can answer 'who is hiring right now'. Which platforms sit where, and how to tell which you actually need.
Job aggregator sites: where each one actually gets its listings
Every aggregator looks the same from the outside and sources its listings completely differently underneath - XML feeds, ATS APIs, scraping, or paid inclusion. Which mechanism each major aggregator uses, why that decides freshness and coverage, and what it means if you are pulling listings programmatically rather than browsing them.
How to build an MCP server: a step-by-step guide with a real API
Most MCP tutorials wrap a to-do list and stop. This one wraps a real API and covers the parts that bite in production: tool descriptions the model can actually route on, structured errors instead of thrown exceptions, pagination that doesn't blow the context window, and the stdio-vs-HTTP decision. Full working server in Python and TypeScript, plus how to test it before you ship.
The best MCP servers for real data in 2026
Most MCP server lists are directories of everything. This one covers the servers that give an agent access to data it can't otherwise reach - live web, code, databases, search, filesystems, and job postings - with the honest limits of each. What separates a useful data MCP server from a thin API wrapper, and how to evaluate one before you plug it into an agent.
Build an AI job search agent that actually finds jobs
An agent that searches jobs is three parts: a live postings source, a tool the model can call, and a loop that refines the query when results come back thin. Working code for Claude, the OpenAI Agents SDK, and LangChain - plus the four failure modes that make most job agents useless (stale listings, hallucinated companies, dead apply links, and a model that never widens its filters).
AI web scraping in 2026: what LLM scrapers actually fix
LLM-based scrapers solve exactly one problem - turning messy HTML into structured fields without a hand-written selector. They do not solve blocking, JavaScript rendering, rate limits, pagination, or freshness, which is where scraping projects actually die. An honest breakdown of AI scraping tools, what each one costs per page, and when the extraction layer is the wrong thing to be optimizing.
How AI job matching actually works: filters, embeddings, rerank
AI job matching is not one model. It's a three-stage pipeline - hard filters that cut the corpus, vector recall that finds semantic near-misses keyword search drops, and a cross-encoder or LLM rerank on the shortlist. What each stage costs, why the order matters, and why the whole thing collapses if your posting corpus is stale. With working code for the retrieval half.
AI recruiting tools in 2026: what they do, and the data layer under them
The AI recruiting category splits into five jobs-to-be-done: sourcing, screening, scheduling, outreach, and market intelligence. A tool-by-tool breakdown of what each category actually automates, which claims don't survive contact with a real pipeline, and the thing every vendor deck skips - all of them are only as good as the hiring data underneath, and most buy that data rather than collect it.
