Skip to content

Personal portfolio showcasing my work as an adaptable technologist, creative problem-solver, and lifelong learner. Features modern React development, smooth animations, and responsive design.

License

Notifications You must be signed in to change notification settings

AlecMcCutcheon/Portfolio

Repository files navigation

Professional Portfolio Website

A modern, responsive portfolio website built with React, TypeScript, and Tailwind CSS. Showcase your creative works, certifications, professional background, and resume all in one beautiful, interactive platform.

✨ Features

  • Modern Design: Clean, professional design with smooth animations
  • Responsive Layout: Fully responsive across all devices
  • Interactive Sections:
    • Hero section with call-to-action
    • About section with skills and values
    • Creative works portfolio with filtering
    • Certifications showcase
    • Interactive resume with tabs
    • Contact form with social links
  • Smooth Animations: Powered by Framer Motion
  • TypeScript: Full type safety
  • Tailwind CSS: Utility-first styling
  • Performance Optimized: Fast loading and smooth interactions

🚀 Getting Started

Prerequisites

  • Node.js (version 16 or higher)
  • npm or yarn

Installation

  1. Clone the repository

    git clone <your-repo-url>
    cd portfolio-website
  2. Install dependencies

    npm install
  3. Start the development server

    npm start
  4. Open your browser Navigate to http://localhost:3000 to view your portfolio.

📁 Project Structure

src/
├── components/          # React components
│   ├── Header.tsx      # Navigation header
│   ├── Hero.tsx        # Hero section
│   ├── About.tsx       # About section
│   ├── CreativeWorks.tsx # Portfolio projects
│   ├── Certifications.tsx # Certifications showcase
│   ├── Resume.tsx      # Resume section
│   ├── Contact.tsx     # Contact form
│   └── Footer.tsx      # Footer
├── App.tsx             # Main app component
├── index.tsx           # Entry point
└── index.css           # Global styles

🎨 Customization

Personal Information

Update the following files with your personal information:

  1. Header.tsx: Change "Your Name" to your actual name
  2. Hero.tsx: Update name, title, and description
  3. About.tsx: Modify your story, skills, and values
  4. CreativeWorks.tsx: Add your actual projects
  5. Certifications.tsx: Add your real certifications
  6. Resume.tsx: Update experience, education, and skills
  7. Contact.tsx: Update contact information and social links

Styling

The project uses Tailwind CSS with a custom color scheme. You can modify:

  • Colors: Update tailwind.config.js for brand colors
  • Fonts: Change fonts in tailwind.config.js
  • Animations: Customize animations in src/index.css

Content

Each component contains sample data that you should replace with your actual information:

  • Projects: Add your real projects with images, descriptions, and links
  • Certifications: Include your actual certifications with verification links
  • Experience: Update with your real work experience
  • Education: Add your educational background
  • Skills: Customize with your actual skills and proficiency levels

🛠️ Technologies Used

  • React 18: Modern React with hooks
  • TypeScript: Type safety and better development experience
  • Tailwind CSS: Utility-first CSS framework
  • Framer Motion: Smooth animations and transitions
  • Lucide React: Beautiful icons
  • React Intersection Observer: Scroll-based animations

📱 Responsive Design

The portfolio is fully responsive and optimized for:

  • Mobile devices (320px+)
  • Tablets (768px+)
  • Desktop (1024px+)
  • Large screens (1280px+)

🚀 Deployment

Build for Production

npm run build

Deploy Options

  1. Vercel (Recommended)

    npm install -g vercel
    vercel
  2. Netlify

    • Connect your GitHub repository
    • Set build command: npm run build
    • Set publish directory: build
  3. GitHub Pages

    npm install --save-dev gh-pages
    npm run deploy

📝 Customization Guide

Adding New Sections

  1. Create a new component in src/components/
  2. Import and add it to App.tsx
  3. Add navigation link in Header.tsx

Modifying Animations

  1. Update Framer Motion animations in individual components
  2. Customize CSS animations in src/index.css

Adding New Features

  1. Install additional dependencies as needed
  2. Create new components following the existing pattern
  3. Update TypeScript interfaces for type safety

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

📄 License

This project is open source and available under the MIT License.

🙏 Acknowledgments

📞 Support

If you have any questions or need help customizing your portfolio, feel free to reach out!


Happy coding! 🚀

About

Personal portfolio showcasing my work as an adaptable technologist, creative problem-solver, and lifelong learner. Features modern React development, smooth animations, and responsive design.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published