A modern, minimalist portfolio website built with Next.js 14, TypeScript, and Tailwind CSS. Inspired by jesselee.ca’s clean, terminal-inspired design.
npm install
npm run dev
npm run build
This will create a static export in the out directory, ready for GitHub Pages deployment.
├── app/ # Next.js App Router pages
│ ├── layout.tsx # Root layout
│ ├── page.tsx # Home page
│ ├── about/ # About page
│ ├── experience/ # Experience/work history
│ ├── projects/ # Projects showcase
│ ├── writing/ # Blog/writing section
│ └── misc/ # Miscellaneous content
├── components/ # React components
│ ├── layout/ # Header, Navigation, Footer
│ ├── sections/ # Page sections (Hero, etc.)
│ ├── cards/ # Card components
│ ├── filters/ # Filter components
│ └── ui/ # Reusable UI components
├── content/ # JSON content files
├── lib/ # Utilities and helpers
├── styles/ # Global styles
└── types/ # TypeScript type definitions
All content is stored in JSON files in the content/ directory:
experience.json - Work experience entriesprojects.json - Project showcaseabout.json - About page contentwriting/posts.json - Blog post metadataSimply edit these JSON files to update your content.
Edit lib/theme.ts and tailwind.config.ts to customize the color palette and design tokens.
The site uses JetBrains Mono by default. To change fonts, update:
app/layout.tsx - Font importstyles/globals.css - CSS variablesapp/page.tsx with your contentcomponents/layout/Navigation.tsx to include the new routenpm run buildout directory contains the static filesout directoryThis project is private and personal.