A responsive personal portfolio website built with HTML, CSS, and JavaScript.
This project demonstrates a complete portfolio website implementation with semantic HTML structure, modern CSS styling, and JavaScript for interactive features. The website includes multiple sections showcasing personal information, projects, and contact details.
.
├── index.html # Main HTML file with all sections
├── style.css # CSS styling for the website
├── script.js # JavaScript for interactive functionality
├── README.md # Project documentation
The HTML file includes the following semantic sections:
- Header Section - Contains name and tagline with navigation
- Navigation Bar - Sticky navigation with links to all sections
- Hero Section - Introduction with an interactive list for hobby benefits
- About Section - Personal bio and background information
- Projects Section - Grid layout showcasing project cards with links
- Contact Section - Contact form with interactive submission
- Footer - Social links, copyright information, and a dynamic date/time display
Key HTML features:
- Semantic HTML5 elements (
header,nav,section,footer) - Accessible form with proper labels and input types
- Responsive meta viewport tag
- External font imports (Inter and Poppins from Google Fonts)
The CSS file provides styling for the entire website, including:
- CSS custom properties and variables
- Flexbox and Grid layouts
- Gradient backgrounds
- Responsive design with media queries
- Sticky navigation
- Card-based project layout
- Form styling with focus states
The script.js file adds several interactive features to the website:
-
Interactive Hobby List:
- Users can type a new hobby benefit into an input field.
- Clicking the "Add" button or pressing "Enter" dynamically adds the new benefit to the list.
- Each benefit in the list has a "Delete" button to remove it.
-
Contact Form Submission:
- Prevents the default form submission behavior.
- When the user clicks "Submit," an alert message appears, confirming that the message has been sent successfully.
- The form is automatically cleared after submission.
-
Dynamic Date and Time in Footer:
- The footer displays the current date and time.
- This information is updated every second to provide a live clock.
-
Clone the repository:
git clone <repository-url>
-
Open
index.htmlin your web browser:open index.html
-
Or serve with a local server:
npx serve .
This repository follows a structured branching workflow:
main- Production-ready codestage- Pre-production testingdev- Development and feature work
Workflow: dev → stage → main
- HTML5
- CSS3
- JavaScript (ES6)
- Git & GitHub
- GitHub CLI
- Chrome/Edge (latest)
- Firefox (latest)
- Safari (latest)
- Mobile browsers (iOS Safari, Chrome Mobile)