Area
Workforce & credential data
I spent four years as engineering lead on a statewide career platform used by 1.8 million people, and I sit on the advisory group for the open standard that makes credential data comparable across states. This is the work I know best.
Record

MyCareer.NJ.gov: evidence for the next move
I led engineering from a 400-file prototype into a bilingual statewide decision service, built its program-level evidence, and did the 2023 data modeling that began the state's migration to Credential Engine's CTDL standard.

AI career guidance, accountable to evidence
I shipped the shared safety infrastructure behind MyCareer.NJ.gov's applied-AI portfolio, then built an unlaunched career-coach POC. Executed QA improved sharply and still exposed pilot-blocking gaps.
Open source
disclosed
Maturity: Working alpha
Grades US higher-education institutions on what they disclose rather than how they perform, across two federal datasets. Every value is classified before use as reported, implausible, suppressed, not applicable, or missing, and suppression that protects a small cohort is never held against anyone. Snapshot-to-snapshot drift reporting distinguishes a field that was never collected from one the public recently stopped being shown, in both directions.
ctdl-validate
Maturity: Beta · v0.2.1
A deterministic structural validator for CTDL JSON-LD, run before a document is published to the Credential Registry: identifier kinds, reference targets, and class pairings, with every finding citing the published rule it came from. It runs offline as a CLI, a GitHub Action, and a browser playground that uploads nothing. Run over 1,200 documents sampled from the public Registry, it surfaced 108 defects in itself, hand-checked and fixed before publication, alongside conflicts inside the published spec. Not affiliated with Credential Engine, and nothing from it has been published to the Registry.
afterward
Maturity: Beta · v0.1.0 · dataset 2026-08-17
3,266 California training programs reported under WIOA, 3,250 of them joined to the state’s own ten-year projection for the occupation each leads to, in English and Spanish, with no account. A suppressed or unreported outcome never renders as zero, and how much the join covers is a published output rather than a footnote. Unofficial and not affiliated with the State of California; the first signed tag has not been cut.
Writing
A blank is not a bad score
As of September 18, 2026, the federal training scorecard shows no completion, employment, or earnings figure for 1,209 of California's 3,266 programs. A blank is not a bad score, and Workforce Pell's interim placement test borrows the same measure.
Press
- Labor Market Information Institute (LMI Institute)NJDOL wins Best State LMI Focus on Impact and Sustainability for its evidence-based approach and MyCareer.NJ.gov (opens in a new tab)2026
- New Jersey Department of Labor and Workforce Development (NJDOL Media)MyCareer.NJ.gov statewide campaign commercial (opens in a new tab)2024
- Fast CompanyNew Jersey is turning to AI to improve the job search (opens in a new tab)2024
- Harvard Kennedy School, Project on WorkforceNavigating Public Job Training says NJ's Training Explorer provides a promising potential model (opens in a new tab)2023
- Royal Statistical Society + American Statistical Association, Real World Data ScienceMeeting the challenges AI poses in the labour market features NJ's Career Navigator (opens in a new tab)2024
- National Association of State Workforce Agencies (NASWA)MyCareer.NJ.gov: 2025 Workforce Innovation Awards nominee (opens in a new tab)2025
- NJ Office of InnovationMyCareer.NJ.gov: project overview and impact (opens in a new tab)2024
- ROI-NJMyCareer.NJ.gov launched to connect job seekers with training and careers (opens in a new tab)2024
Questions I get asked
What have you built at statewide scale?
I was engineering lead on MyCareer.NJ.gov, New Jersey's statewide career platform, for four years. It has served about 1.8 million people, in English and Spanish, and I stayed the primary engineer on it while leading the team. The work spanned the acquisition funnel, a production machine-learning recommendation engine ranking more than 3,800 training programs against a person's real work history, and the AI infrastructure the platform runs on.
What is your experience with CTDL and the Credential Registry?
I am a registered member of Credential Engine's CTDL Advisory Group for 2025-2026. I drove a state's adoption of CTDL, the national linked-open-data standard for credentials, and did the data modeling that mapped its legacy training-program system onto CTDL classes. Those programs are live in the Credential Engine Registry today, comparable across agencies instead of locked in one database.
How do you handle training-program outcomes data?
Carefully, and in public. Afterward joins 3,266 California training programs to their real outcome data, and its central rule is that a suppressed or missing metric renders as null, never as zero. Zero is a claim; null is the truth. Roughly a third of those programs report no outcome at all, and saying so plainly is what makes the rest of the number worth trusting.
How would you check credential data before it is published?
With deterministic checks that run before submission rather than after a failed import. I maintain ctdl-validate, an open validator whose rules are cited to Credential Engine's published grammar and schema: CTID format, whether a field carries the kind of identifier CTDL expects there, whether a reference resolves to an entity of the expected class, and whether declared inverse relationships agree. A structural error found before publication costs minutes; found afterward it costs a correction to something people already relied on.