ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
OpenPath helps students explore a wide range of careers, including lesser-known job titles, before spending money or time on a major, classes or training.
Translation pending
EducationHTML · PythonGitHub @ble-fortinetOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗A career-discovery tool for students who aren't sure what they want to do.
OpenPath helps students uncover a wide range of career options, including specialized and less familiar job titles, before they spend money or time on a major, classes or training. It is a practical exploration tool: it suggests paths to look into and points to current sources to verify them. It does not predict where anyone will thrive, and it is not a complete catalog of every job.
Live demo: https://hackathonvanguard.vercel.app
Example result in one click: https://hackathonvanguard.vercel.app/?demo=maya (a sample student's finished match and plan; add ?demo=maya to any copy of the app)
Repository: https://github.com/ble-fortinet/OCI-Hackathon
OpenPath is one self-contained file. No account, server or install is needed.
Optional AI explanation. When deployed on Vercel with AI credentials, the results page shows "Explain this match with AI", served by api/advisor.js. It uses OpenAI when OPENAI_API_KEY is set, otherwise OCI Generative AI when all OCI values are set. Add the variables in the Vercel project (Settings → Environment Variables), then redeploy. The live demo currently uses OpenAI. When a student presses the button, only the career title and the scenario labels they answered yes or maybe to are sent. The server looks up the career's facts in api/_careers.json (generated by tools/build.py), checks every number in the AI's answer against those facts, and limits each visitor to 10 explanations per 10 minutes (AI_LIMIT_PER_IP) and each server instance to 300 per hour (AI_LIMIT_GLOBAL). A generated explanation is included in the printed plan. No name, account or free-text note is sent.
OpenAI: set OPENAI_API_KEY, and OPENAI_MODEL if your project can't use the default gpt-4o-mini (for example gpt-6.1-sol).
To test a key locally: copy .env.example to .env.local, fill it in, run npm install, then node --use-system-ca tools/test-oci.js.
OCI Generative AI variables:
| Variable | Value |
|---|---|
OCI_TENANCY_OCID | Your tenancy OCID |
OCI_USER_OCID | The OCID of a user with access to Generative AI |
OCI_FINGERPRINT | The fingerprint of that user's API signing key |
OCI_PRIVATE_KEY | The full PEM private key |
OCI_COMPARTMENT_OCID | A compartment where the user may use Generative AI |
OCI_REGION | Optional. A region that offers OCI Generative AI. Default us-chicago-1 |
OCI_GENAI_MODEL | Optional. Default meta.llama-3.3-70b-instruct |
The user needs an IAM policy such as allow group <group> to use generative-ai-family in compartment <compartment>. Without these variables the button stays hidden and the app works as before.
index.html, or open it in any modern browser.main on https://github.com/ble-fortinet/OCI-Hackathon deploys automatically to https://hackathonvanguard.vercel.app via Vercel.Interests and work styles are shown as icon tiles (version 3); each question card shows the icon of the area it comes from.
For students who want a fast answer, Quick match narrows to one top match in a few taps:
Scoring. Each career gets +3 for every scenario answered "Yes" that it fits, +1 for "Maybe" and −3 for "Not for me". It also gets +1 for each chosen interest and +0.5 for each chosen work style it connects to. Careers with role-specific research get a tiny tie-breaker. Until the student says yes to something, the first questions rotate through the picked areas (all 10 if none are picked), trying a different kind of work each round, so every area is probed early. After a "yes", the next questions favor the same kind of work and area. A top match is shown only after at least two "yes" or "maybe" answers (or after 20 questions); then questions stop when there's a clear leader (at least 5 answers and a 3-point lead, or a single contender), after 8 answers with any lead, or at 12 answers. Students can always answer 4 more to sharpen the result.
The step-by-step path appears for every match and at the top of every career page:
Print or save the plan. "Print my plan" (on the top match, each other match and every career page) opens a clean plan view with Print and Download plan buttons. The download is a standalone page that opens in any browser and prints well, which helps where printing is blocked (some embedded previews block it).
The top match is the best fit for the student's answers, a starting point to explore, not a guarantee or a prediction.
The detailed quiz from version 1 is hidden in this version. Its code is still included: to show it again, open tools/template.html, change const SHOW_DETAILED_QUIZ = false; to true, and run python tools/build.py. When shown, it works like this:
The quiz is the main way in. Students can pick more than one answer at every step and go back to change anything without restarting. Answers are saved in the browser.
Matching rules. Each career card is tagged with the scenarios it fits. A career appears when it connects to at least one of the student's most specific choices: a selected scenario, a selected kind of work with no scenarios picked under it, or a selected interest with no kinds picked under it. Picking several things widens the results so students can explore combinations rather than being locked into one family.
Ranking. Each connection adds points: interest 1, kind of work 3, scenario 6; work style 1, specific 2, scenario 4; each matched note word 2 (up to 3 words). Every result card lists the scenarios, kinds of work, interests, work styles and note words that connected it. Results can be filtered by career family ("All paths" or one family) and sorted by strongest connection or A to Z.
319 unique career-title cards across 19 families:
This is a starting set, not every job. Titles vary by employer, region and time. Each card links to an official occupation where one exists, and the About page points to O*NET OnLine for anything not here.
97 careers have role-specific research: a typical day, work environment, skills, credentials to verify (with when they usually fit), courses, high school classes, majors, networking actions, ways to get experience as a student, a five-stage path and specialize/lead/pivot moves, plus a researched pay range with a source link. These pages are labeled "Role-specific details."
The other 222 careers use shared family guidance plus official occupation data. Their pages are labeled "Shared family guidance + official occupation data" and say clearly that they are not detailed research about that exact title. They combine:
general guidance written for the career family (environment, low-cost ways to explore, networking, ways to practice, long-term growth), and
data for the linked official occupation: ONET tasks, related titles, skills, tools, education levels and suggested classes; NCES-linked majors; BLS pay; and possible next moves computed from ONET skill and task similarity.
People, HR and workplace culture (20 careers): Executive Coach, HR Business Partner, HR Generalist, Human Resources Manager, Labor Relations Specialist, Payroll Specialist, Recruiter, Training and Development Manager
Community and public service (14 careers): Child, Family and School Social Worker, Community Health Worker, Eligibility Interviewer, Emergency Management Director, Nonprofit Program Manager, Probation Officer, Recreation Coordinator, Rehabilitation Counselor, Substance Abuse Counselor, Urban Planner
Visual art and design (16 careers): Architect, Art Director, Fashion Designer, Floral Designer, Graphic Designer, Industrial Designer, Interior Designer, Landscape Architect, Museum Curator, Photographer, UX/UI Designer, Visual Merchandiser
Film, TV and animation (16 careers): Actor, Animator, Broadcast Technician, Camera Operator, Film Director, Film Producer, Film and Video Editor, Lighting Technician, Makeup Artist, Screenwriter, Storyboard Artist, Visual Effects Artist
Games and digital content (11 careers): Esports Event Coordinator, Game Artist, Game Programmer, Game Tester, Level Designer, Social Media Specialist, Video Content Producer, Video Game Designer, Web Designer
Music and audio (9 careers): Composer, Live Sound Engineer, Music Teacher, Musician, Sound Engineer, Talent Agent
Writing and communication (15 careers): Author, Editor, Journalist, Proofreader, Public Relations Specialist, Sign Language Interpreter
Technology, data, AI and cybersecurity (26 careers): Blockchain Engineer, Business Intelligence Analyst, Cloud Engineer, Computer Hardware Engineer, Computer Systems Analyst, Computer and Information Research Scientist, Data Scientist, Database Administrator, DevOps Engineer, IT Support Specialist, Information Security Engineer, Machine Learning Engineer, Network Administrator, Penetration Tester, Software Developer, Web Developer
Robotics, automation and manufacturing (11 careers): Automation Engineer, CNC Programmer, Controls Engineer, Electro-Mechanical Technician, Industrial Machinery Mechanic, Manufacturing Engineer, Mechatronics Engineer, RPA Developer, Robotics Engineer, Robotics Technician
DATA-SOURCES.md for the required attribution.Tested in a headless Chromium browser on October 25, 2026:
Quick match: three simulated students answered "yes" only to scenarios fitting their interest. Robotics: 11 questions → Controls Engineer, then Mechatronics Engineer, Drone Pilot, Robotics Engineer, Astronaut. Animals: 8 questions → Zoologist, then Animal Enrichment Specialist, Animal Trainer, Veterinary Technician. People and leadership: 11 questions → Executive Coach, then Organizational Development Consultant and Academic Advisor. Back, Skip, Change my picks, the step-by-step path for the top match and other matches, opening a full profile, and returning to results all worked.
No JavaScript errors while loading or using any screen.
The quiz: multi-select on every step, going back to earlier steps keeps selections, unselecting a parent clears its children, the live match count updates, and selections and the note persist after reloading.
Results: "why it showed up" explanations, family filter, sorting, removing a selection from the results page.
Career library search and family filter (all 19 families plus "All paths"), the role-specific filter, save, compare (up to three), and the About page.
Career pages for both profile types, including the state pay picker and the Astronaut NASA source link.
Phone width (390 px): no horizontal scrolling. All quiz options are real buttons with aria-pressed, so they work with a keyboard and screen readers announce their state.
tools/validate.py checks that every O*NET code exists, every tag is a real quiz scenario, there are no duplicate titles, and every scenario leads to at least two careers.
Regression examples. These recreate the five checks from the original prototype. Counts differ because this version has a different catalog (319 cards instead of 228) and its own tags:
| Path | Prototype | OpenPath | Why it differs |
|---|---|---|---|
| Technology → Robotics → "Troubleshooting a robot that stopped working" | 14 | 10 | Only careers whose day-to-day work includes fixing robots or automated machines are tagged (for example Robotics Technician, Controls Engineer, Industrial Machinery Mechanic, Astronaut). Broader engineering roles are reached through other robotics scenarios. |
| Creative → Film and TV → "Writing a screen story and seeing it filmed" | 7 | 9 | Includes storytelling roles beyond film crews, such as Narrative Designer (games) and Author. |
| Analysis → Finding patterns in data → "Spotting an unusual pattern in a dataset" | 7 | 14 | Many careers across families analyze data (for example Epidemiologist, Fraud Analyst, Radiologist, Climate Change Policy Analyst), so this scenario intentionally spans families. |
| Hands-on work → Using tools → "Repairing equipment that broke down" | 10 | 13 | The larger trades, aviation and robotics catalog adds more repair roles. |
| Technology robot-troubleshooting scenario + Teamwork "Building a product with a team of specialists" | 26 | 24 | Union of the two scenarios. Careers matching both (for example Robotics Engineer) rank first. |
Not tested: real screen readers (only the structure was checked), every browser (only Chromium), performance on very old phones, printing on every printer, and outcomes with real students. The matching has not been validated as a career assessment.
All content lives in tools/catalog.py and data/.
Add a career
15-1252.00).CAREERS in tools/catalog.py:
("Game Audio Designer", "music", "27-4014.00", "Creates sound effects and music systems for video games.", "mus_sfx anim_level ind_create"),
Fields: title, family id (one of the keys in FAMILIES), O*NET code (or "" if none), a one-sentence description, and space-separated scenario ids from INTERESTS/STYLES that this career fits.python tools/validate.py and fix anything it reports.python tools/build.py to rebuild index.html.Add role-specific research for a career: add an entry with the same title to data/researched-profiles.json (copy an existing entry's structure: description, also called, and a profile with day, environment, pay with source, skills, certifications, learning, high school classes, majors, networking, ways in, path and branches). Rebuild. The page switches from shared guidance to role-specific details automatically.
Add or edit quiz questions: edit INTERESTS or STYLES in tools/catalog.py. Keep ids unique, tag careers with any new scenario ids, then validate and rebuild.
Update family guidance: edit FAMILIES in tools/catalog.py.
Refresh official data: data/official-occupations.json holds the processed ONET, BLS and NCES data (occupations, titles, tasks, skills, education, pay and majors). Regenerate it from new ONET and BLS releases, keep the same structure, then validate and rebuild.
| Path | What it is |
|---|---|
index.html | The app (open this) |
openpath-prototype.html | The earlier OpenPath prototype, kept for reference |
Hackathon Submission.md | Hackathon submission write-up |
tools/catalog.py | Quiz questions, career families and career cards |
tools/validate.py | Catalog checks |
tools/build.py | Builds index.html |
tools/template.html | App design and code (Quick match, detailed quiz, results, library, career pages) |
data/official-occupations.json | Processed O*NET, BLS and NCES data |
data/researched-profiles.json | Role-specific research |
© 2026 [Your Name]. All rights reserved. See LICENSE.md. Third-party data is credited in DATA-SOURCES.md.
Engineering and skilled trades (20 careers): Automotive Technician, Building Inspector, Carpenter, Civil Engineer, Construction Manager, Diesel Mechanic, Electrical Engineer, Electrical Lineworker, Electrician, HVAC Technician, Heavy Equipment Operator, Land Surveyor, Machinist, Mechanical Engineer, Plumber, Welder
Healthcare, physicians and medical specialties (39 careers): Anesthesiologist, Art Therapist, Dental Hygienist, Dentist, Dermatologist, Diagnostic Medical Sonographer, Dietitian, Emergency Medicine Physician, Family Medicine Physician, Marriage and Family Therapist, Medical Laboratory Scientist, Medical and Health Services Manager, Nurse Practitioner, Nursing Director, Occupational Therapist, Optometrist, Orthopedic Surgeon, Paramedic, Pediatrician, Pharmacist, Physical Therapist, Physician Assistant, Psychiatrist, Radiologic Technologist, Radiologist, Registered Nurse, Respiratory Therapist, Surgical Technologist
Science, research and space (18 careers): Aerospace Engineer, Aerospace Engineering Technician, Astronomer, Biochemist, Biological Technician, Chemist, Epidemiologist, Forensic Science Technician, Geneticist, Geoscientist, Materials Scientist, Meteorologist, Microbiologist, Physicist, Remote Sensing Scientist
Education and learning (16 careers): College Biology Professor, College Dean, ESL Teacher, Elementary School Teacher, High School Teacher, Librarian, Preschool Teacher, School Counselor, School Principal, Special Education Teacher, Tutor
Law and public safety (13 careers): Detective, Emergency Dispatcher, Firefighter, Intelligence Analyst, Judge, Lawyer, Police Officer, Private Investigator, Security Manager
Hospitality, events and tourism (9 careers): Chef, Concierge, Hotel Manager, Meeting and Convention Planner, Restaurant Manager, Tour Guide, Travel Agent
Agriculture and animal care (12 careers): Agricultural Engineer, Agricultural Inspector, Animal Scientist, Animal Trainer, Farm Manager, Precision Agriculture Technician, Soil and Plant Scientist, Veterinarian, Veterinary Technician, Zoologist
Transportation and aviation (12 careers): Air Traffic Controller, Aircraft Mechanic, Airfield Operations Specialist, Airline Pilot, Commercial Pilot, Dispatcher, Flight Attendant, Locomotive Engineer, Ship Captain, Transportation Planner, Truck Driver
Sales, business and operations (25 careers): Accountant, Financial Analyst, Insurance Underwriter, Logistician, Management Consultant, Market Research Analyst, Marketing Manager, Operations Manager, Product Manager, Project Manager, Purchasing Manager, Real Estate Agent, Sales Representative, Warehouse Operations Manager
Environment, climate, conservation and energy (17 careers): Climate Change Policy Analyst, Conservation Scientist, Energy Auditor, Environmental Engineer, Environmental Scientist, Fish and Game Warden, Forester, Geothermal Technician, Recycling Coordinator, Solar Energy Systems Engineer, Solar Installer, Water Treatment Plant Operator