Job Training Alliance - "Find a Program" quiz logic
Plain-English reference for the quiz at jobtrainingalliance.org/find/, prepared for the JTA board.
How the quiz works at a high level
The user answers up to 12 questions. Each answer narrows the list of programs they could be a fit for. The final result is the intersection of every answer they've given - in other words, a program only shows up if it satisfies every filter the user picked.
The "Show me my programs!" button at the bottom runs the filters and renders the matching programs as a list of recommendations.
Two patterns the quiz uses
Most questions fall into one of two patterns:
Pattern A: "User skill / preference vs program requirement" (graded)
Used for the three skill questions: English, Computer, Math. Each program requires a specific level (Basic / Intermediate / Strong-or-Advanced). When a user picks their level, the quiz returns programs requiring that level or any level below it.
Example: a user who picks "Intermediate Computer" sees programs requiring Basic OR Intermediate computer skills. Programs that require Strong are filtered out (the user doesn't have Strong). A user who picks "Advanced" sees all three tiers.
This is the correct read of "level required" - if a program needs basic computer skills, anyone with basic, intermediate, or advanced skills can take it. The quiz used to get this backwards on Computer skills (see "Recent fixes" at the end).
Pattern B: "User can / cannot meet program requirement" (yes/no)
Used for: HS diploma, work authorization, CORI, drug test, full-time after graduation, flexible schedule (nights/weekends).
Each program is tagged "requires this" or "does not require this." Each user answer maps as follows:
If the user answers Yes ("I can meet the requirement"), the quiz returns programs that require it AND programs that don't - the user qualifies for both.
If the user answers No ("I can't meet it"), the quiz returns only programs that don't require it.
Phrased differently: answering "Yes" doesn't restrict; answering "No" restricts.
The 12 active questions, in the order they appear
1. "I am authorized to work in the United States"
| User answer | Programs returned |
|---|---|
| Yes | All programs (some require authorization, some don't) |
| No | Only programs that don't require US work authorization |
2. "I have my High School Diploma/Equivalent"
| User answer | Programs returned |
|---|---|
| Yes | All programs (some require HS diploma, some don't) |
| No | Only programs that don't require HS diploma |
3. "My English skill level is" (graded)
| User answer | Programs returned |
|---|---|
| Beginner | Programs requiring Beginner-level English OR ESOL programs |
| Intermediate | Programs requiring Beginner OR Intermediate English |
| Advanced or Fluent | Programs at any English level (Beginner, Intermediate, Strong) |
Note on ESOL: ESOL programs are designed for English Language Learners. They surface only when the user picks "Beginner."
4. "I want a program that includes English Classes"
| User answer | Programs returned |
|---|---|
| Yes | Only programs that include an ESOL component |
| No | All programs (with or without ESOL) |
This question pairs with #3 to find programs for users who want English instruction baked into the training.
5. "My Computer skill level is" (graded)
| User answer | Programs returned |
|---|---|
| Basic: I am new to using a computer | Programs requiring only Basic computer skills |
| Intermediate: I can send an email and search the Internet | Programs requiring Basic OR Intermediate |
| Advanced: I can open an attachment and use several programs | Programs at any computer level (Basic, Intermediate, Strong) |
6. "My Math skill level is" (graded)
| User answer | Programs returned |
|---|---|
| Basic | Programs requiring only Basic math |
| Intermediate | Programs requiring Basic OR Intermediate math |
| Advanced | Programs at any math level (Basic, Intermediate, Strong) |
7. "I can pass a criminal background check"
| User answer | Programs returned |
|---|---|
| Yes | All programs (some require a clean CORI, some don't) |
| Not Today/Other | Only programs that don't require a clean CORI |
8. "After graduation I am able to work full time"
| User answer | Programs returned |
|---|---|
| Yes | All programs (some require full-time post-grad, some don't) |
| No | Only programs that don't require full-time post-grad |
9. "I can work nights/weekends/holidays"
| User answer | Programs returned |
|---|---|
| Yes | All programs (some require flexible scheduling, some don't) |
| No | Only programs that don't require flexible scheduling |
This question only appears if the user answered "Yes" to question 8 (full-time after graduation).
10. "I Can Pass A Drug Test"
| User answer | Programs returned |
|---|---|
| Yes | All programs (some require a clean drug test, some don't) |
| Not Today/Other | Only programs that don't require a clean drug test |
11. "I am interested in..." (industry, multi-select)
The user picks one or more industry categories: Administration, Biotech, Customer Service, Early Childhood Education, Facilities & Maintenance, Finance & Banking, Food Service, Green Careers, Healthcare, Hospitality, Human Services, Insurance, IT & High Technology, Job/Work Readiness, Language Learning, Logistics & Driving, Real Estate, Retail, Trades. There's also a "Show me everything" option that selects all categories.
Programs are shown only if their category matches one of the selected categories.
12. "I am interested in training that is" (format, multi-select)
| User selection | Programs returned |
|---|---|
| Remote | Only fully-online programs |
| In Person | Only programs held at the training site |
| Hybrid | Only programs that mix in-person and online |
The user can pick any combination.
How the quiz combines answers
When the user clicks "Show me my programs!", the quiz computes:
Result = (filter from Q1) AND (filter from Q2) AND ... AND (filter from Q12)
Every answered question is required. The more restrictive answers a user gives, the fewer programs they see. This is correct behavior - if a user genuinely can't pass a drug test AND doesn't have a HS diploma AND can't work nights, the system should only show programs that don't require any of those.
If the result feels too narrow on the live site, the cause is almost always one of two things:
- The user answered restrictively. They may need to revisit a "No" they didn't realize was excluding programs.
- Program data on a particular program has the wrong tag. Each program is now matched to the source-of-truth Simple Next Step Data spreadsheet, but if the spreadsheet itself disagrees with reality, the quiz will reflect that. Editing the program's tags (or fixing the sheet then re-syncing) is how to correct it.
Recent fixes (2026-05-08)
Three quiz logic bugs and a data-model issue were fixed today. Worth flagging to the board because they materially change what users see compared to what they were seeing for ~6 months prior.
- Computer skill question was inverted. Picking "Intermediate" used to return programs requiring Intermediate OR Strong skills - the opposite of the correct logic. Picking "Advanced" returned only Strong-required programs. Both have been corrected to "user level or below" semantics. This is why members reported, e.g., that St. Francis Moving Ahead disappeared when they said they had intermediate computer skills.
- Math question didn't actually filter. The underlying tag was a yes/no flag with a typo, and the three answers all mapped to roughly the same set. A new graded Math taxonomy (Basic / Intermediate / Strong) replaced it, and all 66 programs were retagged from the spreadsheet's "Level of Math Skill Needed" column.
- ESOL programs were unreachable. The English question's "Beginner" answer didn't include ESOL-tagged programs, so the one program tagged ESOL (Roxbury CC ESOL) never appeared in quiz results. Fixed: Beginner now surfaces both Beginner-level and ESOL programs.
- Program data drift. The spreadsheet has 64 program rows, the WordPress site had 66 programs, and 10 of the matched programs had at least one field where the sheet disagreed with WP. The sheet was treated as authoritative; all 10 conflicts have been resolved in WP's favor of the sheet. Two WP-only programs (MassBioEd and Just a Start's Biomedical Careers) were kept because they're real programs not yet in the sheet.
The companion file jta-programs-current.csv is the current state of every program with all the answers the quiz looks at.