https://github.com/opariffazman/resume
Resume as Code. Simple, version-controlled resume with GitHub Pages & PDF output.
https://github.com/opariffazman/resume
engineering github-actions github-pages json jsonresume resume resume-as-code
Last synced: 11 months ago
JSON representation
Resume as Code. Simple, version-controlled resume with GitHub Pages & PDF output.
- Host: GitHub
- URL: https://github.com/opariffazman/resume
- Owner: opariffazman
- Created: 2025-07-25T23:44:58.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-07-28T16:50:08.000Z (12 months ago)
- Last Synced: 2025-07-28T17:21:37.868Z (12 months ago)
- Topics: engineering, github-actions, github-pages, json, jsonresume, resume, resume-as-code
- Language: Shell
- Homepage: https://opariffazman.com/sample-resume
- Size: 59.6 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README

---
# 📄 Introduction >
Manage multiple resumes, with each getting its own `resume.json` file.
Automatically generate a professional resume website with a downloadable PDF for each version, hosted for free via GitHub Pages.
Powered by: [JSONResume](https://jsonresume.org/) + Engineering [Theme](https://github.com/skoenig/jsonresume-theme-engineering) + [GH Pages](https://pages.github.com/)
Guided by: [r/EngineeringResumes](https://www.reddit.com/r/EngineeringResumes/wiki/index/)
## 🚀 Features
- **Multi-Resume Support** - Manage different resumes for different roles in one place.
- **One Source of Truth** - Just edit the `resume.json` for the resume you want to change.
- **Automatic Builds & Deploys** - Websites are generated and deployed on every push.
- **Live Websites** - Each resume is hosted with GitHub Pages for free in its own repository.
- **Download PDF** - A print-optimized PDF version is included for each resume.
- **Clean Theme** - Minimal, readable and ATS-friendly.
## 🔧 How It Works
1. You create a new folder inside the `resumes/` directory (e.g., `resumes/data-scientist/`).
2. You add a `resume.json` file to this new folder.
3. GitHub Actions automatically builds the site and PDF.
4. The output is deployed to a separate resume repository (e.g., `data-scientist-resume`) for hosting via GitHub Pages.
5. If you delete a resume folder, the corresponding repository is also deleted.
💡 This lets you keep your resume source and its commit history private, while only making the live resume websites public.
## 🔑 Pre-requisites
1. Go to: **Settings** → **Developer Settings** → **Personal Access Tokens** → Generate **new token (classic)**
- Name it: `resume_token`
- Scope: `repo` & `delete_repo`
- Copy and save the token.
# 🛠️ Set It Up
1. Click `Use this template` (top of this repo) → Choose **Private**.
2. Go to: **Settings** → **Secrets and variables** → **Actions**
- **Secrets**
- `ACTIONS_PAT` → your GitHub token from earlier.
3. Create your first resume:
```bash
git clone
cd
# Create a directory for your new resume
mkdir -p resumes/data-scientist
# Copy the sample and start editing
cp sample-resume.json resumes/data-scientist/resume.json
```
4. After editing `resumes/data-scientist/resume.json`, commit and push the changes:
```bash
git add resumes/data-scientist/resume.json
git commit -m "feat: intial commit"
git push origin main
```
All done! You'll be able to access your live site at `https://.github.io/data-scientist-resume`.
_It's highly recommended to keep the generated resume repository (e.g., `data-scientist-resume`) private and only make it public when needed._
## 💻 Run Locally (Optional)
Want to preview your resume before pushing?
1. Install dependencies:
```bash
npm install
npx playwright install chromium
```
2. To build a specific resume, run the `build-resume.sh` script with the `FILE_PATH` environment variable pointing to your resume's directory:
```bash
FILE_PATH=resumes/data-scientist ./scripts/build-resume.sh
```
You’ll find the generated `index.html`, `resume.html`, and `resume.pdf` inside the `resumes/data-scientist/` folder.
## 🤖 Why This?
This template gives you full control.
Version your resumes with Git, write them in JSON, and generate polished outputs with developer tools.
✅ No un-versioned resume edits
✅ No monthly subscription fees
✅ Just code and GitHub Actions magic