BenchBridge started with a problem I kept hearing around the trades: what happens to a skilled worker’s income between dispatches?
A worker can have real experience, certifications, transferable skills, and a strong union pathway — and still spend time piecing together where the next opportunity is coming from.
BenchBridge explores a different approach: model the worker, the skills, the programs, the job signals, and the requirements as a graph so the next move is easier to see.
Traditional job search starts with a title.
BenchBridge starts with the worker.
Worker
├── experience
├── skills
├── certifications
└── location
↓
graph matching
↓
Programs · employers · openings · project signals · requirement gaps
↓
A clearer next move
The goal is not to promise somebody a job.
The goal is to surface realistic pathways and be transparent about why something is showing up.
This repository contains a public-safe starter data pack for an SF + Alameda prototype.
Snapshot date: 2026-09-12
It includes:
- one public-safe demo worker profile
- experience records
- certification records
- evidence-backed skills
- transparent match examples
- organizations and programs
- events
- job / project-demand signals
- source records
- graph edges
- Neo4j constraints + seed scripts
data/benchbridge_seed.json— all-in-one seed for a prototype API, TypeScript, Python, or Supabasedata/von_public_safe_profile.json— public-safe demo workerdata/*.csv— normalized tables for spreadsheets, Postgres, or data framesneo4j/constraints.cypher— graph uniqueness constraintsneo4j/seed.cypher— idempotent graph seed
The matching logic is intentionally conservative.
Registration and intake status are different facts.
Old rows remain in the seed as freshness regression tests, not recommendations.
Statuses like verify_open and contact_program mean exactly that: somebody still needs to verify the opportunity.
Construction demand can be useful context without being presented as a guaranteed opening.
Records keep a source and verified_as_of value so a future interface can show why the record exists and how fresh it is.
Strong pathway matches, transferable-skill matches, future-demand signals, and requirement gaps are different things.
The public demo does not contain contact information, raw resumes, addresses, or sensitive applicant details.
A worker does not map neatly to one job title.
A graph makes it easier to represent relationships like:
(worker)-[:HAS_SKILL]->(skill)
(worker)-[:HOLDS]->(certification)
(program)-[:REQUIRES]->(certification)
(job)-[:NEEDS]->(skill)
(organization)-[:OFFERS]->(program)
That makes questions like these much more natural:
- Which opportunities match the skills I already have?
- Which ones are one certification away?
- What programs connect to the work I want next?
- What upcoming project signals suggest demand may be growing?
- Why did this match show up?
Run neo4j/seed.cypher in Neo4j Browser or cypher-shell.
The seed uses MERGE, so reruns update keyed nodes rather than creating duplicates.
Example:
MATCH (o:Organization)-[r]->(p:Program)
WHERE p.county IN ['San Francisco','Alameda','Regional']
RETURN o.name, type(r), p.name, p.application_status, p.next_date
ORDER BY p.next_date;The data is designed around different verification cadences:
- Daily: fast-changing job boards and bid signals
- Weekly: apprenticeship openings, workforce programs, construction opportunities
- Monthly: directories and slower-changing program references
- Manual / link-only: sources where authentication, terms, or PII make automation inappropriate
This is a researched prototype seed, not a perpetual live feed.
Dates, openings, eligibility rules, and application windows change. A production version should re-check canonical sources and clearly mark stale records.
I am interested in products that make opportunity easier to navigate for people who already have real skills but are forced to stitch the system together themselves.
BenchBridge is an experiment in what happens when workforce matching is less about keyword search and more about skills, evidence, relationships, and the next realistic step.