Career ProfilerJAAT research

From occupations to a profile you can shape.

Career Profiler connects selected occupations to tasks extracted from USAJOBS postings, then uses O*NET links to summarize activities and skills. A custom grouping of general work activities produces the competency view.

Choose occupations

Search uses O*NET 27.2 occupation names, alternate titles, and reported job titles. Exact title matches appear first, followed by matches containing all search words. This is a title lookup, not TitleMatch model inference. A title can suggest multiple occupations; you choose those that fit. The catalog includes 1,016 occupation labels, of which 990 have task profiles in this USAJOBS snapshot.

Understand the source

The export counts distinct posting IDs for each occupation–task pair in the validated USAJOBS tables, joining tasks to occupation codes by posting ID and month. These are federal job advertisements, not a representative sample of all work in an occupation. More postings do not by themselves establish a better profile. No NLx data or private career documents are included. The snapshot covers posting start dates from January 2017 through March 2026; it is not a current-vacancy feed.

Examples illustrate individual and blended occupational perspectives. No personal employment history, license, credential, or competence is asserted. The urban-technology blend combines planning, programming, information-systems management, and database administration.

Review tasks and change emphasis

Every example begins with occupation, task, activity, and skill weights of 1×. Task exclusions are applied before normalization. Remaining task weights sum to one within each occupation; occupation weights then determine each occupation’s contribution to the combined profile. Equal occupation weights give equal influence, even if one occupation has more postings.

Activity and skill adjustments flow back to tasks through their mapping weights. Within a mapping level, linked adjustments are averaged, with unmapped weight left neutral. Adjustments across levels multiply. The profile is then normalized and its activity, skill, and competency summaries recalculated. Higher emphasis is a user choice, not a measured improvement in proficiency.

Standard recruitment filter

Ten reviewed suspect task IDs use one consistent rule: retain each task in its native O*NET occupation and the first two distinct related occupations in the O*NET 27.2 published ordering; filter it elsewhere. “First two” refers to the source’s Index field, not a new distance estimate. There are no blanket task exclusions. See the complete exception table.

This reversible task-level heuristic addresses suspected recruitment-language contamination. The aggregates lack source sentences, so the filter does not establish that individual matches are erroneous. Turning off the standard filter restores these tasks; visitor-created exclusions remain separate and continue to apply.

The example screening table reports the top 30 raw tasks for each example occupation. The broader review screen flags tasks appearing in at least half of supported occupations and in the top 20 for at least 10%; breadth alone does not justify exclusion.

Read the competency view

The pyramid moves from selected occupational context at the top to workplace, research/technical, and personal/interpersonal areas below. These custom tier placements organize navigation, not proficiency. Industry tiers are omitted because no industry-specific requirements have been defined. The occupational tier is context, not an additional score.

The seven areas are author-defined groups of O*NET general work activities, informed by CareerOneStop’s Build a Model and its emphasis on definitions and supporting behaviors. They are not an official CareerOneStop crosswalk or validated assessment. Each activity belongs to one group; unmapped weight is shown. Click an area to inspect its leading activities, then tasks and their occupational sources. Percentages refer to the entire profile, and “other” boxes account for omitted detail.

Save, reproduce, and extend

Download choices saves a small file of occupations, weights, exclusions, and the filter setting; import it to resume. Download profile includes the calculation inputs, mappings, framework, source information, and results. Imported profile contents and adjustments are processed locally. The host receives requests for public site and occupation files, which can reveal which occupation files were requested. There is no profile-upload endpoint or analytics script. Clear saved choices removes this app’s browser record; it does not delete downloaded files. Résumé upload, job matching, and credential verification are not available.

To reproduce a downloaded profile, place it alongside profile-math.js and competency-math.js, then run this with Node.js:

const fs = require('node:fs');
const {computeProfile} = require('./profile-math.js');
const {computeCompetencies} = require('./competency-math.js');
const b = JSON.parse(fs.readFileSync('competency-profile.json'));
const x = b.inputs;
const p = computeProfile(x.perspectives, x.selected, x.excluded,
  x.links, x.multipliers, x.occupationWeights, x.higherWeights);
const result = computeCompetencies(p.task_vector, x.links, b.framework);
require('node:assert/strict').deepEqual(result, b.results);
console.log('Reproduced');

Sources and attribution

This demonstration is research software. Occupational inference can suggest activities to review; it does not establish what a person has done or is qualified to do.