A modern, responsive portfolio website built with Next.js, TypeScript, and Tailwind CSS.
- Modern Design: Clean, professional layout with custom color scheme
- Responsive: Optimized for desktop, tablet, and mobile devices
- Interactive Navigation: Smooth scrolling between sections
- Dark Theme: Elegant dark color palette with blue and tan accents
- TypeScript: Full type safety throughout the application
- Performance Optimized: Built with Next.js for optimal loading speeds
- Hero: Personal introduction with contact links
- Summary: Professional overview and certifications
- Skills: Technical skills organized by category
- Education: Academic background and current programs
- Experience: Professional work history with detailed achievements
- Leadership: Leadership roles and activities
- Framework: Next.js 14
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: Custom components with Radix UI primitives
- Icons: Lucide React
- Deployment: Ready for Vercel, Netlify, or any modern hosting platform
- Node.js 18+
- npm or yarn
-
Clone the repository
git clone https://github.com/dahw/ideal-portfolio.git cd ideal-portfolio -
Install dependencies
npm install
-
Start development server
npm run dev
-
Open in browser
http://localhost:3000
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLint
Vercel is the easiest way to deploy Next.js applications:
-
Install Vercel CLI
npm i -g vercel
-
Deploy
vercel
-
Follow the prompts and your site will be live!
Alternative: GitHub Integration
- Connect your GitHub repository to Vercel
- Automatic deployments on every push to main branch
- Visit vercel.com to get started
-
Build the project
npm run build
-
Deploy the
outfolder to Netlify- Drag and drop the
outfolder to Netlify's deploy page - Or connect your GitHub repository for automatic deployments
- Drag and drop the
-
Install gh-pages
npm install --save-dev gh-pages
-
Update package.json scripts:
{ "scripts": { "deploy": "npm run build && gh-pages -d out" } } -
Deploy
npm run deploy
For self-hosting on your own server:
-
Build the application
npm run build
-
Start the production server
npm run start
-
Configure reverse proxy (nginx, Apache, etc.) to point to port 3000
ideal-portfolio/
├── components/
│ ├── portfolio/ # Portfolio-specific components
│ │ ├── Hero.tsx
│ │ ├── Navigation.tsx
│ │ ├── Summary.tsx
│ │ ├── Skills.tsx
│ │ ├── Education.tsx
│ │ ├── Experience.tsx
│ │ └── Leadership.tsx
│ └── ui/ # Reusable UI components
│ ├── button.tsx
│ ├── card.tsx
│ ├── badge.tsx
│ └── sheet.tsx
├── lib/
│ └── utils.ts # Utility functions
├── pages/
│ ├── _app.tsx # App wrapper
│ └── index.tsx # Main portfolio page
├── styles/
│ └── globals.css # Global styles
├── next.config.js # Next.js configuration
├── tailwind.config.js # Tailwind CSS configuration
├── tsconfig.json # TypeScript configuration
└── package.json # Dependencies and scripts
The color scheme is defined in the main component styles:
- Primary Background:
#1a1d29 - Secondary Background:
#252837 - Accent Blue:
#4a90e2 - Accent Tan:
#d4b896 - Text Primary:
#e8eaed - Text Secondary:
#9ca3af
Update the content in each component file:
- Personal information in
Hero.tsx - Professional summary in
Summary.tsx - Skills in
Skills.tsx - Education details in
Education.tsx - Work experience in
Experience.tsx - Leadership activities in
Leadership.tsx
Dean Aldric Harrison Walston
- Email: Dwalston252@gmail.com
- Phone: 404-625-7717
- LinkedIn: dean-ah-walston
- GitHub: deanwalston
Built with ❤️ using Next.js and TypeScript