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.
