A modern, professional portfolio website built with Next.js 16 and TypeScript, showcasing AI/ML development expertise and technical instructional design experience.
├── src/
│ ├── app/ # Next.js App Router pages
│ │ ├── layout.tsx # Root layout with SEO metadata
│ │ ├── page.tsx # Homepage
│ │ └── globals.css # Global styles & design system
│ ├── components/ # Reusable React components
│ │ ├── Navigation.tsx # Header with mobile menu
│ │ ├── Footer.tsx # Footer component
│ │ ├── Hero.tsx # Hero section
│ │ ├── SkillsSection.tsx # Technical skills
│ │ ├── ExpertiseSection.tsx
│ │ ├── ExperienceSection.tsx
│ │ ├── TestimonialsSection.tsx
│ │ ├── InsightsSection.tsx
│ │ ├── EducationSummarySection.tsx
│ │ └── ContactSection.tsx
│ ├── lib/ # Utilities (future)
│ └── data/ # Static data (future)
├── public/ # Static assets
│ ├── images/
│ ├── logos/
│ ├── education/
│ └── Professional_Certifications/
├── content/ # Blog posts (future)
├── legacy/ # Original static HTML files
├── render.yaml # Render deployment config
└── package.json
# Install dependencies
npm install
# Run development server
npm run dev
# Build for production
npm run build
# Start production server
npm start
Open http://localhost:3000 to view the site.
The site uses a cohesive design system with CSS custom properties:
--bg-color: #0d1117; /* Dark background */
--card-bg: rgba(22, 27, 34, 0.7);
--text-primary: #e6edf3; /* Primary text */
--text-secondary: #8b949e; /* Secondary text */
--accent: #2f81f7; /* Accent blue */
--accent-hover: #58a6ff;
The site is configured for deployment on Render. See render.yaml for configuration.
Set the following in your Render dashboard:
NODE_ENV: productionThis project is part of a migration from static HTML to Next.js. See upgrade.md for the full migration plan.
© 2025 Dustin J. Ober. All rights reserved.