How it works

Semantic search over CS job postings: your query and every posting are turned into vectors, and results are ranked by meaning rather than shared keywords. Filters, geography and a question-answering layer sit on top, all in MongoDB Atlas.

Three design decisions

1. Vector search and geospatial search cannot share a pipeline

$vectorSearch must be the first stage of its pipeline, and so must $geoNear. The vector pre-filter also cannot express geometry at all. So “within 50 miles of Pittsburgh” is split in two: a metro-name pre-filter inside $vectorSearch (every metro whose area could reach the circle), then an exact $geoWithin radius check after joining back to the postings, over an over-fetched candidate set.

2. Passages, not postings, are embedded

Postings are split on their own headings into responsibilities, requirements and so on; legal boilerplate is dropped. A posting whose one compiler-related paragraph is buried under a page of benefits still matches a compiler query, because that paragraph has its own vector. Vectors live in a separate collection, which means every filterable field is copied onto each passage — the vector search runs before any join exists.

3. Counts beside results describe the results

$vectorSearch cannot run inside $facet, so the counts next to the filters on a search page are over the retrieved matches, and the page says so.

Data sources & takedown

Postings come from the public job-board APIs that employers’ own career pages use — Greenhouse, Lever and Ashby — and from the USAJOBS API for federal roles. Internships are also discovered through the Summer 2027 internships list maintained by Simplify and Pitt CSC: each listing is followed to the employer’s own job board for its full description, and listings on job sites without a public API are kept as title-and-location entries that link out. Requests identify themselves, are limited to one per second per host, and honor employers’ “unlisted” flags. Descriptions are indexed for search and shown as short excerpts; every result links to the employer’s original posting, where you apply.

Job descriptions belong to the employers who published them. Federal postings are provided by USAJOBS; see USAJOBS for authoritative details. To have a posting removed, open an issue on the project repository.

Back to search