Personal portfolio site built with React, hosted on GitHub Pages.
🌐 Live site: https://benjmac.github.io
Requires Node >= 24 (use nvm).
nvm use 24
npm installTo build and preview locally, run these two commands in separate terminals:
# Terminal 1 — webpack watch (rebuilds on file changes)
npm run build-client-watch
# Terminal 2 — static file server
npm startThen open http://localhost:3000 in your browser. Webpack will rebuild automatically when you edit files — just refresh the browser to see changes.
npm run deployThis runs two steps automatically:
predeploy— builds the production bundle via webpack intopublic/deploy— pushes the contents ofpublic/to thegh-pagesbranch via thegh-pagespackage
GitHub detects the push and serves the updated site within ~1 minute.
- Push this repo to GitHub
- Go to Settings → Pages
- Under Source, set branch to
gh-pages, folder to/ (root) - Save — the site will be live at https://benjmac.github.io
Note: the
homepagefield inpackage.jsonmust match your GitHub username and repo name exactly for assets to resolve correctly.
© 2026 Ben McCain. All rights reserved. Source is visible for portfolio purposes only.