A modern personal website and blog built with Next.js, Tailwind CSS, and MDX.
- Next.js - React framework with App Router
- Tailwind CSS - Utility-first CSS
- MDX - Markdown with JSX
- TypeScript - Type safety
- mise - Development environment management
This project uses mise to manage development tools and ensure consistent environments across machines.
Install mise on your system:
# macOS (Homebrew)
brew install mise
# Or with curl (works on macOS and Linux)
curl https://mise.run | shAfter installation, activate mise in your shell. Add this to your ~/.zshrc or ~/.bashrc:
eval "$(mise activate zsh)" # for zsh
# or
eval "$(mise activate bash)" # for bash-
Clone the repository
git clone https://github.com/christurgeon/Personal-Website.git personal-website cd personal-website -
Trust and install mise tools
mise trust mise install
This installs the exact versions of Node.js and pnpm specified in
.mise.toml. -
Install dependencies
pnpm install
-
Start the development server
pnpm dev
-
Open your browser
Visit http://localhost:3000
The .mise.toml file configures:
[tools]
node = "22" # Node.js version
pnpm = "9" # pnpm package manager
[env]
NODE_ENV = "development"When you enter the project directory, mise automatically activates these tool versions.
Edit src/lib/config.ts to customize:
- Your name and site description
- Social media links (GitHub, LinkedIn, SoundCloud, Beli, etc.)
- Navigation links
export const siteConfig = {
name: "Your Name",
title: "Personal Website",
description: "Your description here",
socials: {
github: "https://github.com/yourusername",
linkedin: "https://linkedin.com/in/yourusername",
// ...
},
};- Place images in
public/images/blog/ - Reference them in MDX:
The site supports Google Analytics via an environment variable. To enable:
- Get a Measurement ID from Google Analytics (starts with
G-) - Set the environment variable:
- Vercel: Add
NEXT_PUBLIC_GA_MEASUREMENT_IDin Project Settings → Environment Variables - Local: Create a
.env.localfile withNEXT_PUBLIC_GA_MEASUREMENT_ID=G-XXXXXXXXXX
- Vercel: Add
Analytics only loads when the environment variable is set.
pnpm dev # Start development server
pnpm build # Build for production
pnpm start # Start production server
pnpm lint # Run ESLintCopyright © 2026 Chris Turgeon. All Rights Reserved. See LICENSE.md for details.