Applied machine learning
NUCoop
Make the job search explain itself.
A browser extension that helps students explore co-op roles with transparent skill matching and optional on-device semantic scoring.
Fictional jobs and sample résumés run through the extension’s keyword matcher. This demo does not load the optional semantic model or connect to NUWorks.
- résumé parsing & inference
- Local
- eligibility + relevance
- 2 layers
- semantic model download
- Opt-in
- Contribution
- Personal product & implementation
01 / The problem
Make the job search explain itself.
Students face a long list of co-op postings with different eligibility rules and inconsistent wording. A relevance score is only useful if the student can see why a role matches and what is missing.
I built an extension that adds scoring and a full-page Job Explorer to NUWorks. It separates eligibility from relevance, shows matched and missing skills, and keeps the search usable while optional semantic inference runs in the background.
02 / In practice
Follow the workflow.
Choose a sample résumé or edit its skills and experience.
Filter fictional roles and inspect the matcher’s evidence for each score.
Compare promising roles, build a shortlist, and export it.

Fictional jobs and sample résumés run through the extension’s keyword matcher. This demo does not load the optional semantic model or connect to NUWorks.
03 / Under the hood
How the pieces fit.
- 01
Read locally
The extension extracts résumé text with pdf.js and reads job postings in the user’s existing NUWorks session.
- 02
Check eligibility
Server-provided eligibility takes priority. A local rules engine provides a fallback for class and graduation requirements.
- 03
Score & explain
Skills, aliases, directional implied skills, required/preferred weighting, and keyword overlap produce an explainable match.
- 04
Refine optionally
Transformers.js and ONNX run semantic inference in a Web Worker. Keyword results remain available while it works.
04 / Engineering judgment
Decisions & tradeoffs.
Keep eligibility separate from similarity
Text can be semantically similar while a hard requirement is unmet. Eligibility and visible skill evidence keep a high relevance score from disguising that distinction.
Make inference an explicit choice
The semantic model is an opt-in download. Résumé and job text are processed on the device; the base search does not depend on model availability.
Show the ingredients
The extension exposes keyword and AI scores separately and lets the user adjust their blend. The public demo isolates the keyword engine so it is quick to try and easy to inspect.
05 / Inspect the work