My personal portfolio website hosted at https://benjamincarlson.io. My personal website has changed over the years - from a static HTML/CSS/JS site to Wordpress to Jekyll to Gatsby to Django (I made a site with django but never deployed it due to it costing so much!) and finally to Next.js/React. This site has my writing, projects, gear, tutorials, experience, and much more.
Feel free to fork this repo and make it into your own website! Below you will find instructions, features, and the tech stack.
To run locally you must
- Clone this repo
git clone https://github.com/bjcarlson42/benjamincarlson.io.gitor
git clone https://github.com/bjcarlson42/benjamincarlson.io.git .- Create a .env file and enter your secret keys (if you skip this step the site will still run but some data won't be fetched)
touch .envInside .env:
YOUTUBE_KEY=
GITHUB_KEY=
BUTTONDOWN__KEY=
FIREBASE_CLIENT_EMAIL=
FIREBASE_PROJECT_ID=
FIREBASE_PRIVATE_KEY=
STRAVA_CLIENT_ID=
STRAVA_SECRET=
STRAVA_REFRESH_TOKEN=
- Move into the project root and remove git tacking (if you are planning to submit a PR to this repo don't do this step!)
rm -rf .git*- Install dependencies
yarn- Run locally!
yarn devNavigate to http://localhost:3000.
- Light/Dark mode
- Realtime Statistics via SWR and Nex.js API routes
- Responsive Design
- Blog
- Google Analytics
- Google AdSense
- JS Framework: Next.js
- CSS Framework: Chakra UI
- Blog Code Syntax: Prism.js
- Blog: next-mdx-remote
- Database(Blog post view and like count): Firebase
- Deployment: Vercel
Contributions are welcome! Feel free to tackle an issue or even implement a new feature. Simply submit a PR and I'll take a look.

