zero-to-mastery/ZtM-Job-Board(opens in a new tab)
Language: TypeScript
⚛️ A place for developers to show recruiters they are available for hire
- stars
- 1,186
- watchers
- 43
- forks
- 2,945
- open issues
- 13
- Last updated
- 11/01/2026
Language: TypeScript
⚛️ A place for developers to show recruiters they are available for hire
A place for developers from the Zero To Mastery Community to show recruiters that they are available for hire. Feel free to contribute and improve this in any way you see fit.
Link to the webpage: ZtM JOB Board.
git clone https://github.com/zero-to-mastery/ZtM-Job-Board.git
cd ZtM-Job-Board
npm ci
npm start
npm start validates submissions while generating the profile dataset. Invalid JSON or an invalid skills value causes aggregation to exit with an error instead of writing a partial dataset. Fix the reported submission and rerun npm start; the existing generated dataset is left untouched when validation fails.
The Role filter groups case and whitespace variations and common spellings of
frontend, backend, and full stack, including the submitted typos Fronted,
FullStak, Sofeware, Developper, and Devoloper. All three dropdown
searches (roles, countries, skills) match case-insensitively on
whitespace-normalized text; only the role search applies the typo corrections
above. Selecting an option matches all of its variants;
profile cards retain the submitted title.
The Role dropdown offers at most 21 explicit families plus Other roles, rather than one option for each submitted title. Seniority and technology qualifiers do not create extra options. Compound titles can match every family they name, including roles that share a trailing "Developer" or "Engineer" and generic web/software roles alongside specializations. Unrecognized, missing, or solely aspirational titles fall under Other roles. Use the main search for original title details. No roles are inferred from declared skills, and original titles remain unchanged.
Note: You will first need to make a fork of the project!
If you are unclear on how the GitHub workflow works, you can check the Make a Pull Request guide.
To add your name to the list, create a file <YOUR_GH_USERNAME>.json
inside Submissions/ folder, and then fill it up with following content.
⚠️ Please remove the @ from your GitHub username.
(Don't include the square brackets "[ ]" or angle brackets "< >" !!! They are just there to indicate an example placeholder.)
{
"name": "[YOUR_FULL_NAME]",
"img": "[YOUR_IMG_URL]",
"email": "[YOUR_EMAIL_ADDRESS]",
"links": {
"website": "[YOUR_WEBSITE_URL]",
"linkedin": "https://www.linkedin.com/in/<YOUR_LINKEDIN_USERNAME>",
"github": "https://github.com/<YOUR_GH_USERNAME>"
},
"jobTitle": "[YOUR_TITLE]",
"skills": ["[SKILL_1]", "[SKILL_2]", "[SKILL_3]"],
"location": {
"city": "[YOUR_CITY]",
"state": "[YOUR_STATE_OR_PROVINCE]",
"country": "[YOUR_COUNTRY]"
}
}Optional map coordinates
coordinates is optional. Leave the whole object out to keep the country-level marker. Add it only for an individual pin.
If included, coordinates must contain exactly two numeric properties: lat and lng. For example:
"coordinates": { "lat": 40.71, "lng": -74.00 }
lat must be between -90 and 90, and lng must be between -180 and 180.
Both values must have at most two decimal places for privacy.
Use approximate city or town coordinates. Do not share your home address or precise residential location.
Invalid coordinates will cause aggregation to fail and report the affected submission filename.
state: "",)."United States", "Germany") for country. It is matched to a standard country for the filters and map; see country normalization for maintainers' notes.skills is optional. Omit it or use [] if you do not want to declare skills. When provided, it must be an array of nonblank strings.React, TypeScript, or Node.js; aliases such as React.js and React are not automatically combined.Please submit a Pull Request to be added to this list. If you are unsure how to do this, please check out Contributing To Open Source video in the course curriculum.
Use Required skills to search the declared skills and select the technologies you need. Results must match all selected skills, together with any text, country, or role filters. Remove an individual skill using its chip, or use Clear filters to reset the search and filters.
Cards show self-reported skills and mark the ones matching your requirements. Filtering and matching marks both ignore case and surrounding whitespace without changing displayed labels. Profiles without declared skills still appear when no skill filter is selected. Existing contributors can add a skills array to their own submission in a pull request; no skills are inferred from job titles or external profiles.
https://github.com/example.png
Hit enter and the browser will generate a page with your image, it look like this: https://avatars.githubusercontent.com/u/57936?v=4
Copy url of this page and paste it in Submissions/<YOUR_GH_USERNAME>.json file
All icons have been sourced from Material Design Icons and Octicons