A modern, responsive portfolio website built with Next.js 16, TypeScript, Tailwind CSS, and Bun.
- Next.js 16 with App Router
- TypeScript for type safety
- Tailwind CSS v4 for styling
- Bun as the runtime and package manager
- Responsive Design - Works on all devices
- Dark Mode support
- Smooth Scrolling navigation
- SEO Optimized
# Install dependencies using Bun
bun install# Start the development server
bun devOpen http://localhost:3000 to view the site in your browser.
.
├── app/
│ ├── layout.tsx # Root layout with metadata
│ ├── page.tsx # Homepage
│ └── globals.css # Global styles
├── components/
│ ├── Header.tsx # Navigation header
│ ├── Intro.tsx # Intro section
│ ├── About.tsx # About section
│ ├── Projects.tsx # Projects showcase
│ ├── Skills.tsx # Skills section
│ ├── Contact.tsx # Contact form
│ └── Footer.tsx # Footer
└── public/ # Static assets
- Edit app/layout.tsx - Update metadata (title, description)
- Edit components/Intro.tsx - Update your name and tagline
- Edit components/About.tsx - Update your bio
- Edit components/Projects.tsx - Add your projects
- Edit components/Skills.tsx - Update your skills
- Edit components/Contact.tsx - Update social links
All components use Tailwind CSS. Modify the classes in each component file or update app/globals.css for global styles.
# Create an optimized production build
bun run build
# Start the production server
bun startbun dev- Start development serverbun build- Build for productionbun start- Start production serverbun lint- Run Biome linterbun format- Format code with Biome
The easiest way to deploy:
- Push your code to GitHub
- Import your repository on Vercel
- Vercel will automatically detect Next.js and configure the build
- Your site will be live!
This is a standard Next.js app and can be deployed on:
- Netlify
- Cloudflare Pages
- Railway
- Render
- Any platform that supports Node.js or Bun
- Next.js 16
- React 19
- TypeScript
- Tailwind CSS v4
- Bun
- Biome - Fast linter and formatter
Feel free to use this template for your own portfolio!
Built with ❤️ using Next.js and Bun
