A modern, AI-first personal portfolio website built with Next.js 15, TypeScript, and Tailwind CSS. This project demonstrates clean architecture, responsive design, and AI-enhanced development practices.
- Modern Tech Stack: Next.js 15 with App Router, TypeScript, and Tailwind CSS
- Responsive Design: Mobile-first approach with beautiful UI on all devices
- AI-First Development: Built using AI-powered tools and methodologies
- Performance Optimized: Static generation for fast loading times
- SEO Ready: Configured with next-seo for optimal search engine visibility
- Accessible: WCAG compliant with semantic HTML and ARIA labels
- Home: Hero section with professional introduction and CTAs
- About: Comprehensive bio, skills showcase, and development philosophy
- Projects: Featured portfolio pieces with live demos and source code links
- Resume: Professional experience with downloadable PDF option
- Contact: Multiple contact methods with social media integration
- Framework: Next.js 15.3.4 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS with custom phthalo green theme
- UI Components: Shadcn/ui (Radix UI + Tailwind)
- Icons: Lucide React
- SEO: next-seo
- Code Quality: ESLint, Prettier, Husky, lint-staged
- Node.js 18+ and npm
- Git
- Clone the repository:
git clone https://github.com/calemcnulty/personal-website.git
cd personal-website- Install dependencies:
npm install- Run the development server:
npm run dev- Open http://localhost:3000 in your browser
npm run build
npm run startpersonal-website/
├── app/ # Next.js App Router pages
│ ├── about/ # About page
│ ├── contact/ # Contact page
│ ├── projects/ # Projects showcase
│ ├── resume/ # Resume/CV page
│ ├── layout.tsx # Root layout with navigation
│ └── page.tsx # Homepage
├── components/ # React components
│ ├── layout/ # Layout components (NavBar, Footer)
│ ├── sections/ # Page sections (ProjectCard)
│ └── ui/ # Shadcn/ui components
├── lib/ # Utilities and configurations
├── public/ # Static assets
└── _docs/ # Project documentation
The site uses a custom phthalo green theme. To change colors, edit the CSS variables in app/globals.css and the Tailwind config in tailwind.config.ts.
- Update personal information in each page component
- Replace project data in
app/projects/page.tsx - Add your actual resume PDF to
public/resume.pdf - Update social links in
components/layout/footer.tsx
- Code Quality: Pre-commit hooks run Prettier and ESLint automatically
- Type Safety: TypeScript strict mode ensures type safety
- Component Structure: Modular components under 500 lines for AI compatibility
- Documentation: JSDoc comments for all functions and components
The site is optimized for deployment on Vercel:
- Push your code to GitHub
- Import the repository in Vercel
- Deploy with default settings
This project is open source and available under the MIT License.
Cale McNulty
- Website: calemcnulty.com
- GitHub: @calemcnulty
- LinkedIn: calemcnulty
Built with ❤️ using AI-first development principles