After twelve years governing a portfolio of 35+ concurrent technology initiatives at Fidelity, I built the same kind of system for my own job search: a weighted scoring rubric, a system of record, a compliance tracker, and a sector rollup — applied to the messiest portfolio there is, one's own employability.
A Massachusetts unemployment claim requires three qualifying job-search activities a week, tracked and ready to produce on request. That's the compliance floor. But compliance alone was never going to get me hired — and treating every posting as equally worth a full read was a fast way to burn weeks on roles that were never going to work.
Volume without triage: thirty-plus postings a week from LinkedIn's recommendation engine, most requiring a full JD read to rule out — ten to fifteen minutes each just to say no.
The false positive problem: a role can score well on the skills you're good at and still be a bad fit — the pattern that eventually became the domain-fit gate.
No single source of truth: DUA compliance, application tracking, and "am I actually making progress" were three different mental exercises with no shared record between them.
The objective was the same instinct that shaped the Fidelity AMT work: don't rely on memory or vibes for something that has to hold up under scrutiny — build the operating rhythm and the data structure once, then let the structure do the triage.
The system lives in a single workbook with five sheets that reference each other — intake feeds the log, the log feeds compliance and sector rollups, and a standalone rubric sheet scores any role before it gets a serious look.
Six dimensions, weighted, summing to a single score. Each role gets scored 0–10 on each dimension before any real time is spent on it.
Recommendation bands: 7.5+ is apply, strong fit; 6–7.5 is apply via warm path; 4.5–6 is consider only if a warm path exists; below that is skip.
A plain weighted average is dangerous precisely because a role can score well on everything you're good at — skills, seniority, comp — and still be the wrong role, if the underlying business is one you don't understand. The rubric handles this with a gate: if domain fit scores below roughly 4, the recommendation is overridden to SKIP or REFERRAL-ONLY regardless of how strong the weighted total looks. The internal shorthand for this is "cricket vs. baseball" — two games that use a bat and a ball and look superficially similar from a distance, and are not the same game at all.
Three roles from the actual log show the range this was built to handle:
The gate's original threshold was a reasonable starting model, not a finished one — it hadn't yet needed to distinguish between two things that look similar until real evidence forces them apart. A rejection from a large healthcare-adjacent employer (Company C) was that evidence: a genuine warm referral, real engagement through an AI-assisted screen, and a domain-fit score that had been read generously going in (5–6, on a JD stating an explicit 8+ year requirement in that specific industry segment) — and it still wasn't enough once evaluated against candidates who actually had that segment experience.
This is the same pattern behind moving AMT's portfolio tooling from Jira Align to Strategic Portfolio Manager: the first system wasn't wrong, it just hadn't yet been tested against the constraint that mattered. One clean data point separated two things the rubric had been treating as a single, blurrier signal.
One more refinement came from comparing rejections against each other rather than reading each in isolation. Company D produced four rejections across four different warm-path advocates, with zero specific feedback given despite real effort on each one. Company C, by contrast, gave a standard but specific line — other candidates more closely matched requirements in that industry segment. And a separate technology-sector role (Company E) came back with detailed, genuinely actionable feedback on team size and company-stage fit.
The pattern: an organization running a genuine competitive evaluation usually has something concrete to point to, because there was a real evaluation to describe. An organization where the outcome was effectively pre-determined has nothing to explain, because there was never a live competition in the first place. The absence of specific feedback isn't just an absence of information — taken across multiple advocates and multiple attempts, it's itself diagnostic.
Thirty-five entries, rolled up automatically the moment they're logged — Healthcare/Bio (37%) and Financial Services (26%) together account for roughly 63% of all activity, with Technology trailing at 11% despite it being the more natural fit on paper.
The number that mattered wasn't any single row — it was that seeing that distribution laid out is what prompted the honest question underneath this whole system: was the healthcare tilt a deliberate strategy, or was it just where the loudest volume of LinkedIn-recommended postings happened to be? The rollup doesn't answer that question, but it's the thing that made the question askable in the first place — the same value a portfolio dashboard provides at Director level, just pointed at a portfolio of one.
Every logged activity — application, recruiter contact, interview, RESEA session — automatically rolls into a weekly summary against the Massachusetts 3-per-week requirement. Nine weeks in, the requirement was met in six weeks outright, missed narrowly in one week that was intentionally a vacation week with no claim filed, and on track for the remaining two.
The point isn't the specific numbers — it's that compliance stopped being a separate task. It became a read-only view of data that had to exist anyway for the rest of the system to work.
A meaningful share of postings arrive via LinkedIn, which is one of the most aggressively anti-scraping platforms on the web. Job detail content largely renders only for authenticated, logged-in sessions — an automated agent fetching a LinkedIn URL cold gets a login wall or a stripped preview, not the actual JD. Company ATS portals (Workday especially) have their own version of the same problem: session-gated content that sometimes reports back as "filled" or "not available" to an automated checker even when a human can click through and apply normally.
This is a real constraint on how far the automation layer can go without crossing into territory that raises its own judgment calls — scraping behind an authentication wall is a different category of action than reading a public page, regardless of technical feasibility. For now, the practical answer is the same one used throughout: the human stays in the loop at the point where a platform's terms of service and a scraper's capability diverge. The Quick Add sheet is designed for exactly that handoff — fast enough to use after a five-second human glance at a posting, structured enough to feed everything downstream automatically.
35 logged activities across 9 weeks, rolling into weekly DUA compliance status with zero duplicate data entry. Multiple roles scored and either advanced or explicitly skipped with a documented reason, rather than an unrecorded gut call. A domain-fit gate that caught a strong-looking false positive in seconds rather than after a full JD read. And a rubric whose weights, gate threshold, and recommendation bands sit in plain sight on the sheet — the specification an eventual scoring agent would run against, not a black box.
A plain weighted score is a convenient lie if it can be dominated by dimensions that don't actually gate the decision. The fix is the same in any portfolio: find the dimension that has to act as a hard constraint rather than a weighted input, and build the system so that constraint can't be averaged away.
The rubric's weights, gate threshold, and recommendation bands are written down in full on the sheet — not implied, not left to memory. That's the same requirement an agent would have to meet before it could be trusted to run the first pass: the judgment has to be legible enough to hand off before it can be automated.