SkillSet
✨ Intuitive job-candidate skill visualization, taking advantage of D3.js and JSONResume.
Install / Use
/learn @Jac21/SkillSetREADME
SkillSet
SkillSet is a lightweight front-end demo for turning a JSONResume skills section into an interactive D3 force graph. Instead of presenting skills as a flat list, it creates a visual map of categories and keywords that is easier to demo, discuss, and explore.
Why SkillSet
- Turns resume data into a more engaging visual story
- Works with the familiar JSONResume format
- Lets you drag, inspect, and spotlight skill clusters in the browser
- Keeps the project simple enough to customize for personal sites and portfolio demos
Live Links
- Live site: jac21.github.io/SkillSet
- Live demo: jac21.github.io/viz.html
- React wrapper by romain325: ReactSkillSet
How It Works
- Upload a resume file with a populated
skillsarray. - SkillSet reads each skill category and its keywords.
- The app builds a node-link graph where categories connect to individual skills.
- D3 renders the result as an interactive force-directed visualization.
Each edge is weighted from the JSONResume level field so proficiency can influence the relationship styling in the graph.
Expected Resume Shape
SkillSet looks for the skills section from a standard JSONResume payload. A minimal example looks like this:
{
"skills": [
{
"name": "Frontend",
"level": "Advanced",
"keywords": ["JavaScript", "D3.js", "CSS"]
},
{
"name": "Backend",
"level": "Intermediate",
"keywords": ["Node.js", "REST APIs"]
}
]
}
Supported level mappings:
Beginner->1.0Intermediate->2.0Advanced->2.5
Getting Started
Prerequisites
- Node.js
- npm
Install
npm install
Run Locally
Build the project:
npm run build
Serve the project locally:
npm run serve
For a development build:
npm run dev
Then open index.html through your local server and upload a JSON resume file to generate the visualization.
Project Structure
.
├── index.html
├── src
│ ├── app.js
│ ├── index.js
│ └── viz.js
├── styles
│ └── style.css
└── assets
├── img
└── test-data
Demo Notes
- The UI is designed to work well for portfolio walkthroughs and screen sharing
- Smaller, cleaner keyword sets produce the most readable graphs
- Nodes can be clicked to emphasize labels and dragged to discuss clusters live
Tech Stack
License
Related Skills
node-connect
352.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
111.5kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
352.9kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
352.9kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
