A modern, interactive portfolio website designed to showcase skills, experience, and projects through custom animations and responsive layouts.
- Dynamic Typography
- Variable font properties for interactive text
- Proximity-based transformations on mouse hover
- Spotlight Cards
- Dynamic spotlight positioning on hover
- Fully customizable spotlight colors
- Adaptive Layout
- Seamlessly responsive across all device sizes
- Smooth transitions between viewports
- Interactive Timelines
- Visual history for education, experience, and certifications
- Elegantly styled, responsive timeline components
- Tech Stack Showcase
- Auto-scrolling carousel for technologies
- Interactive hover effects on logos
- Social Integration
- Animated links with engaging hover effects
- React v18+ – Core framework
- Framer Motion – Advanced animations
- Splide.js – Touch-friendly carousels
- CSS3 – Masks, gradients, and variables
- Variable Fonts – Dynamic typography
- Flexbox & Grid – Modern layouts
-
Clone the repository:
git clone https://github.com/DavitEgoian/Portfolio-Website.git cd Portfolio-Website -
Install dependencies:
npm install
-
Start the development server:
npm start
-
Open http://localhost:3000 to view it in your browser.
portfolio/
├── public/ # Static assets
├── src/
│ ├── components/ # React components
│ │ ├── SpotlightCard.js
│ │ ├── TextPressure.js
│ │ └── VariableProximity.js
│ ├── data/ # Data files
│ │ ├── cardsData.js
│ │ ├── educationTimeline.js
│ │ ├── experienceTimeline.js
│ │ ├── certificationTimeline.js
│ │ ├── socialLogos.js
│ │ └── techLogos.js
│ ├── App.js # Main application component
│ ├── App.css # Global styles
│ └── index.js # Entry point
├── package.json
└── README.md
Run the test suite with:
npm testPersonalize the portfolio with your own content:
-
Update the data files in
/src/datawith your:- Education history
- Work experience
- Certifications
- Social media links
- Technology stack
-
Modify the text content in
/src/App.js -
Adjust colors in
/src/App.cssby searching for color variables like:--primary-color: rgb(150, 110, 250); --highlight-yellow: rgb(255, 200, 120); --highlight-teal: rgb(20, 230, 200);
The portfolio is optimized for:
- Desktop (1920px+)
- Laptop (1400px-1920px)
- Tablet (768px-1400px)
- Mobile (480px-768px)
- Small mobile devices (<480px)
Deploy to any static hosting service:
npm run buildThe build folder will contain production-ready static files.
This project is licensed under the MIT License.
