Welcome to my personal website! This is the source for hyperfocusam.com, a React-based Jamstack site where I share my work as an AI private tutor in Hong Kong. It is MIT licensed, easy to customize, and deploys cleanly to static hosting (including GitHub Pages).
- Built with modern JavaScript using create-react-app, React Router, and SCSS.
- Automated workflows via GitHub Actions for static deployments.
- And more!
This repo started from an open source template and has been customized for my site. If you want to adapt it for yourself, follow the setup instructions below and check out the detailed guide and checklist.
If you spot a bug or have an idea to improve the site, feel free to open an issue or a pull request. See the design goals, roadmap, and contributing guidelines for more detail.
Ensure you have node >= v16. Optionally, use nvm to manage node versions.
-
Clone the repository:
git clone git://github.com/HyperfocuSam/personal-site.git cd personal-site -
(Optional) Ensure you're on Node v16 or higher:
nvm install node --version
-
Install dependencies:
npm install
-
Start the application:
npm start
By default, the application should be available at http://localhost:3000/.
- Update the environment variables and Git remote URL in
.github/workflows/github-pages.yml. - Adjust the
homepagevalue inpackage.jsonbased on your hosting preferences. - Planning on using a custom domain? Update
public/CNAME. Otherwise, remove it.
After making a commit to main, simply push your changes, and the deployment will be handled automatically.
For a static export without deploying to GitHub Pages:
-
Remove or disable
.github/workflows/github-pages.yml. -
Execute:
npm run predeploy
This will generate a static version in personal-site/build/ which you can host or deploy to a CDN.
- Initial template from Future Imperfect by @ajlkn for HTML5 UP.
- Special thanks to @typpo for tirelessly answering all of my node.js and react questions.
- Kudos to @notrueblood[1] and @sjhsieh[2] for their constructive feedback.