# Find machine learning engineers by skill and city

A use case: start from a job title and narrow to a country, a city and a skill one filter at a time, counting each step before reading any profile. Run on the Metix AI Platform on September 30, 2026.

## What the counts show

Profiles whose current title matches "machine learning engineer": 66,492. In the United States: 22,179. In San Francisco: 3,161. Of those, 230 list PyTorch as a skill. The same search in five more US cities is in `data/cities.json`; groups under 10 people are published as `<10`. `data/skills.json` counts which skills the San Francisco group lists: all 3,161 list at least one, 1,261 list Python, 245 TensorFlow and 230 PyTorch. `data/postings.json` is the demand side: of 1,658 open US postings with the same title, 1,284 name Python in the description, 835 PyTorch and 585 TensorFlow.

## Method

Counts only, one API Credit each: four for the narrowing steps, twelve for the city table, four for the skills table and four for the postings table. No profile is read by the replay, so nothing about a person is written. The filters are in [`queries/`](queries/), the cities in [`cities.json`](cities.json) and the skills in [`skills.json`](skills.json).

## Limits

Skills lists are often short or out of date, so a skill filter undercounts. Other titles for the same work are not included. Counts are visible profiles, not everyone in the market.

## Rerun

```bash
export METIX_KEY=metix_xxxxxxxxxxxx   # create one at https://platform.metix.ai/api-keys
python3 cases/find-engineers-by-skill-and-city/fetch.py
```

To do the whole task with an agent, shortlist included, use [`PROMPT.md`](PROMPT.md).
