A step-by-step workflow for turning your CV into a live, published homepage using Visual Studio Code, Claude Code, Jekyll, and GitHub Pages.
The idea is simple: give Claude Code your CV and a reference theme, and it builds, tests, and publishes a working Jekyll homepage for you.
Follow these steps to build and publish your homepage.
Create a project folder and add your CV
Create an empty folder on your computer and place your CV inside it as a .pdf file. This is the only material Claude needs to get started — it will read your education, publications, teaching, and research interests directly from it.
Create an empty GitHub repository
On github.com/new, create a new public repository named exactly <your-username>.github.io (e.g., jsmith.github.io). GitHub Pages only serves a repository at your root domain when it has this exact name.
gh repo rename).
Open the folder in VS Code and log in to the GitHub CLI
File → Open Folder... → select your my-homepage folder. Then open a terminal in VS Code and make sure you’re authenticated:
gh auth status
Then open the Claude Code extension panel in the sidebar.
Pick a Jekyll theme you like
Browse jekyllthemes.org (or any Jekyll theme gallery) and copy the URL of a theme you like. You’ll paste this into your prompt to Claude in the next step.
Give Claude the context, role, command, and output
In the Claude Code panel, describe what you want built. Structuring your prompt into four parts — Context, Role, Command, and Output — helps Claude understand exactly what to build and how.
https://github.com/<username>/<username>.github.io<theme URL>
Let Claude build and test the site
Claude will typically: read your CV, fetch and adapt the reference theme, write the Jekyll pages and layouts, run bundle install and jekyll build, and serve the site locally so it can check the result in a browser before you see it.
Review the site yourself
Ask Claude to start a local preview server:
bundle exec jekyll serve
Open http://localhost:4000 in your browser and click through every page. If something looks off or you want text changed, describe it to Claude in plain language.
Push to GitHub and publish
Once you’re happy with the result, ask Claude to commit and push the changes:
Commit these changes and push them to the repository.
GitHub Pages builds automatically after the push. Your homepage will be live at https://<username>.github.io/ within a minute or two.
gh api repos/<username>/<username>.github.io/pages/builds/latest so you know the moment it’s live.
Once the first version is live, keep iterating with simple, direct requests.
Ask Claude to add a page and wire it into the navigation.
Ask Claude to adjust colors, fonts, or layout.
Ask Claude to refresh the site after your CV changes.
Describe what’s wrong and where — Claude can check it in a browser itself.
A few things that make this workflow much more reliable.
GitHub Pages only serves at your clean root URL (https://<username>.github.io/) when the repository has exactly this name. Any other name publishes under a sub-path instead.
Pointing to an actual theme (its homepage or source repository) gives Claude a concrete look-and-feel and layout to adapt, rather than inventing one from scratch.
Ask Claude to build and serve the site locally first (jekyll serve) and check every page yourself before it pushes anything public.
Instead of "make it better," describe exactly what’s wrong and where (page, section, color). Specific requests get fixed faster and more accurately.
When your CV changes, ask Claude to re-sync the site from it instead of hand-editing pages — this keeps everything consistent.