● Chicago · Cook · DuPage · Lake · Will · Kane · McHenry

Find the trade that fits you. Then find who will pay you to learn it.

A 5-minute fit test, then the Chicagoland programs that pay you to train.

You get paid

Apprenticeships

Hired first, trained second. Paycheck from week one.

Free + stipend

Pre-apprenticeships

Free training that gets union halls to say yes.

Tuition covered

Vouchers & grants

Up to $10,000. Apply before you enroll.

Press A–D or 1–4

Every program we track

Verified against primary sources, August 2026. Call before you count on anything marked "verify."

What's open right now

Windows close fast. Sorted by urgency. Your trades are flagged.

How this works, and how to build it out

The strategy behind both halves of the matching, the seam where they join, and what it would take to turn this prototype into something real.

The problem this solves

Chicagoland does not have a funding shortage for trades training. It has a navigation problem, and it has an orientation problem, and those are different problems that need to be solved in sequence.

The navigation problem: between the state, the county, the city, seven workforce boards, City Colleges, roughly 18 union JATCs and 40-plus nonprofit providers, there is well over $50 million a year flowing toward exactly the person who wants to learn a trade. Almost none of it is discoverable from a single place, and the eligibility rules differ on every axis that matters: age, county, income, diploma status, veteran status, record, gender, and whether you happen to check a website on the right Wednesday. The result is that the people who most need the money route around it. They enroll at a for-profit trade school, take on debt, and never find out that a WIOA voucher would have covered it, or that the union hall two neighborhoods over would have paid them to learn the same trade.

The orientation problem is upstream of that and larger. Most people who would thrive in a trade never seriously consider one, and the ones who do consider it pick by proximity: a relative is an electrician, so they look at electrical. Nobody ever asks them whether they would rather be eighty feet up on a beam or holding a tolerance to a thousandth of an inch indoors, which are both trades, and which suit opposite people. A directory cannot fix that. A directory assumes you already know the answer.

Why the two halves need each other

Run alone, each half fails in a predictable way. A trade-fit quiz produces a satisfying result and then abandons the user at exactly the moment they are most motivated, with a suggestion to "search your state plus the trade." A program directory presents sixty options to somebody who cannot yet tell a pre-apprenticeship from a JATC, and the most common outcome is that they close the tab.

Chained, the seam does real work. The fit test outputs a ranked trade vector; the directory consumes it as a scoring input rather than a filter, which matters because a user's second and third trades are often served by programs their first is not. And the handoff is the moment of highest intent in the whole flow, which is the correct moment to ask the six eligibility questions people are otherwise reluctant to answer.

How the fit test scores

Twenty forced-choice questions, each option carrying signed weights across fifteen traits: outdoor, heights, physical, precision, diagnose, machines, people, travel, business, tech, grit, routine, risk, craft, team. Answers sum into a user vector, normalized to −1..1 against the maximum obtainable per trait.

  • Each of the sixteen trades carries a 0–10 profile on the same fifteen traits.
  • Trades are scored against how far they sit from the average trade on each trait, not from a fixed midpoint. This is the single most important detail in the engine. Without it, trades that are moderate on everything win nearly every quiz and the distinctive ones never surface, which is the failure mode of most career quizzes.
  • The result is a cosine-like ratio mapped into a readable percentage band, plus a plain-language explanation naming the three traits that actually drove the match.
  • When the top score is low, the app says so: it tells the user their answers did not lean hard in any direction and that shadowing a day will teach them more than the quiz did.

How the program match scores

  • Hard filters remove anything you are categorically ineligible for: wrong county, wrong age, veteran-only, women-only, CPS-graduate-only.
  • Trade fit is where the two halves join. Programs serving your first-ranked trade get the largest boost, second and third get progressively less, and the boost is scaled by the actual fit percentage rather than applied flat, so a weak 61% top match moves the rankings less than a decisive 89% one.
  • Scoring then ranks by whether it pays you, whether it is open right now, and whether it fits the goal you named.
  • Near-misses are the part most directories skip. If one fixable thing blocks you (usually a diploma, a driver's license, or a welding prerequisite), we still show the program and name the specific program that unblocks it. That turns a dead end into a two-step plan.

Data model

Every program carries structured eligibility (age, edu, license, residency, veteran, gender, sponsor), a funding type, a trade tag set, a county set, a deadline string with an open or urgent flag, and an ordered steps array. The steps array is what makes this more than a search engine: it is the thing that tells you to get a money order rather than cash, to bring your original Social Security card, or to start reinstating your license now because it takes six weeks.

The join layer is a separate table mapping each of the sixteen BLS trades onto the directory's trade tags, plus a hand-written localNote naming the specific Chicagoland door into that trade. That note is the highest-value field in the app and the one that cannot be generated: it is the difference between "consider becoming a lineman" and "Dawson Tech's line worker certificate is the route, ComEd hires more than half its graduates, and doing ComEd CONSTRUCT first makes you the target group for the $6,500 scholarship."

What would need to happen next

Phase 1 · Trust the dataProgram details go stale fast, especially union application windows. The fix is a scraper against the CISCO opportunity board plus a monthly human verification pass, with a "last verified" date shown on every card. A wrong deadline is worse than no deadline.
Phase 2 · Real accountsSave a profile, check off application steps across devices, and get a push notification when Local 150's October window opens or the Plumbers 130 portal goes live in November. The deadline alerting is arguably more valuable than the matching.
Phase 3 · Close the loop with providersWarm handoff instead of a link: submit an interest form directly to CWIT, Revolution Workshop or the Illinois Works intake from inside the app. Providers get qualified referrals, users skip a step, and you get placement data back, which is the only way to learn which recommendations actually work.
Phase 4 · Retrain the fit test on outcomesRight now the trade profiles are hand-authored expert judgment. With placement and retention data flowing back from providers, the trait weights become learnable: which answers actually predict somebody still being in the trade at eighteen months. That is the version worth defending.
Phase 5 · Statewide, then multi-stateThe structure is not Chicago-specific. Every state has a WIOA board network, a state grant, JATCs and nonprofit pre-apprenticeships. The fit test ports unchanged because BLS data is national; only the program records and the local notes change.

Honest limitations of this prototype

  • Program data is a point-in-time snapshot from August 2026. Union windows in particular change without notice, which is why every card links to the primary source.
  • Several programs do not publish key details at all: the Chicago Cook ITA dollar cap, Illinois Works stipend amounts, and the cost and length of the Highway Construction program. Those are flagged rather than guessed at.
  • Two of the sixteen trades have thin Chicagoland coverage in this dataset. Aircraft mechanic has no A&P school in the program set at all, and the app says so on the results card rather than quietly returning nothing.
  • Both matching layers are rule-based and transparent by design. That is a feature at this stage, since a user can see exactly why something was recommended, but real placement outcome data would beat hand-tuned weights.
  • Wage figures are national BLS medians. Chicago union scale runs well above them, and non-union suburban work often below. Treat them as relative signal between trades, not as a local salary quote.
  • Nothing is stored anywhere. Close the tab and your answers are gone.