A modern, customizable portfolio website built with Next.js, TypeScript, and Tailwind CSS. Easily showcase your projects, blog posts, and personal information.
- Next.js 14 app directory
- TypeScript support
- Tailwind CSS styling
- Modular components
- Blog, Projects, About, and Contact pages
- Responsive and accessible design
git clone https://github.com/mihf05/Portfolio-demo.git
cd Portfolio-demonpm installbun installIf you plan to use the contact form, create a .env.local file in the root directory. Example:
SMTP_HOST=your_smtp_host
SMTP_PORT=your_smtp_port
SMTP_SECURE=your_smtp_secure_setting
SMTP_USER=your_smtp_user
SMTP_PASSWORD=your_smtp_passwordNote: Check your codebase for any required environment variables and update
.env.localaccordingly.
npm run devbun run devOpen http://localhost:3000 to view your site.
npm run build
npm startbun run build
bun run startThe portfolio content is managed through lib/data.ts. This file contains all the customizable data for your portfolio including:
- Personal Information: Name, title, contact details, bio
- Projects: Showcase your work with descriptions, metrics, and technologies
- Testimonials: Add client or colleague reviews
- Blog Posts: Write and display your articles
- About Section: Personal interests, tools, and current reading
- Social Links: GitHub, LinkedIn, Twitter, etc.
To customize your portfolio:
- Open
lib/data.ts - Update the
siteDataobject with your information - Replace placeholder images in
public/with your own - Modify text, add/remove projects, update contact info
Example structure:
export const siteData = {
personal: {
name: "Your Name",
title: "Your Title",
// ... other personal info
},
projects: [
{
id: "your-project",
title: "Your Project Title",
description: "Project description",
// ... project details
}
],
// ... other sections
}Here are some screenshots of the portfolio in action:
app/— Next.js app directory (pages, layouts, API routes)components/— Reusable UI componentslib/— Data and utility functionspublic/— Static assets (images, icons)styles/— Global styles

