This is my personal portfolio website built with React, TypeScript, and styled-components. The site showcases my work, experience, and photography while providing an easy way for potential employers and collaborators to learn more about me and get in touch.
- 📱 Responsive design that works on all devices
- 🎨 Custom styling with styled-components and Framer Motion animations
- 🖼️ Photo gallery with lazy loading
- 📄 Integrated PDF viewer for resume
- 🔍 SEO optimization with React Helmet
- 🎯 Page-specific meta tags
- 🛠️ TypeScript for type safety
- 📝 Modern React features and hooks
- React 18
- TypeScript
- styled-components
- Framer Motion
- React Router
- React Helmet Async
- Clone the repository:
git clone https://github.com/jobrien127/personal-site.git
cd personal-site- Install dependencies:
yarn install- Start the development server:
yarn startThe site will be available at http://localhost:3000.
yarn start- Runs the app in development modeyarn build- Builds the app for productionyarn test- Launches the test runneryarn format- Formats code using Prettier
src/
├── components/ # Reusable components
├── pages/ # Page components
├── styles/ # Global styles
├── types/ # TypeScript type definitions
├── utils/ # Utility functions and hooks
└── App.tsx # Main app component
This site can be deployed to any static hosting service (Vercel, Netlify, GitHub Pages, etc.) using the build artifacts generated by yarn build.
This project is private and not open for redistribution.