Ian’s Portfolio Website
A modern, dark-themed personal portfolio website built with Next.js and shadcn/ui.

✨ Features
- 🌙 Dark Theme - Beautiful dark theme by default with light mode toggle
- 📱 Responsive Design - Optimized for all screen sizes
- ⚡ Fast Performance - Built with Next.js 16 and Turbopack
- 🎨 Modern UI - Clean interface using shadcn/ui components
- 🔗 Project Showcase - Featured GitHub projects with descriptions
- 🛠️ Skills Display - Highlights technical expertise
- 📧 Contact Section - Easy GitHub profile linking
🚀 Tech Stack
- Framework: Next.js 16.1.6 (App Router)
- UI Components: shadcn/ui
- Styling: Tailwind CSS 4.1.18
- Icons: Lucide React
- Theming: next-themes
- Language: TypeScript 5.9.3
- Fonts: Geist Sans & Geist Mono
📦 Installation
- Clone the repository:
git clone https://github.com/Ian-bug/Ian-bug.github.io.git
cd Ian-bug.github.io
- Install dependencies:
- Run the development server:
- Open http://localhost:3000 in your browser
🛠️ Available Scripts
npm run dev - Start development server with Turbopack
npm run build - Build for production
npm start - Start production server
npm run lint - Run ESLint
npm run format - Format code with Prettier
npm run typecheck - Run TypeScript type checking
🎨 Customization
Adding shadcn/ui Components
To add new UI components:
npx shadcn@latest add [component-name]
For example:
npx shadcn@latest add card
npx shadcn@latest add badge
Theme Colors
The website uses CSS custom properties for theming. You can modify the color scheme in app/globals.css:
:root {
--primary: ...
--secondary: ...
/* etc */
}
.dark {
--primary: ...
--secondary: ...
/* etc */
}
📄 Sections
- Hero - Eye-catching introduction with gradient text
- About - Short bio and background
- Skills - Technical expertise display
- Projects - Featured GitHub projects grid
- Contact - GitHub profile link
🔗 Live Site
Visit the live website: https://ian-bug.github.io
👤 Author
Ian - GitHub
📝 License
This project is open source and available under the MIT License.
🤝 Contributing
Contributions, issues, and feature requests are welcome!