Skip to content

πŸ‘‹ Hello! Welcome to my portfolio website β€’ βš›οΈ Built with React, Vite & Tailwind CSS β€’ πŸ’Ό Showcases skills, experience & projects β€’ βœ‰οΈ Contact form powered by EmailJS β€’ πŸŒ™ Includes dark mode for a sleek look β€’ πŸš€ Deployed on Vercel for fast performance

License

Notifications You must be signed in to change notification settings

saicharankarasala/Portfolio

Repository files navigation

πŸš€ My Personal Portfolio Website

Welcome to the GitHub repository for my personal portfolio website! This project serves as a dynamic and interactive showcase of my skills, experience, education, certifications, and projects as a Software Engineer and problem solver. It's meticulously crafted to provide a clean, modern, and engaging user experience, ensuring visitors can easily navigate and learn about my professional journey.

Built with a contemporary stack of React, Vite, and Tailwind CSS, this portfolio is not only visually appealing but also optimized for performance and responsiveness across all devices. Whether you're a recruiter, a potential collaborator, or a fellow developer, I hope this repository and the live site provide valuable insight into my capabilities and passion for building impactful software solutions.


🌐 Live Site

Experience the portfolio live right here:

✨ https://www.venkatasaicharan.com ✨

Feel free to explore, interact with the sections, and get in touch!


πŸ“Έ Project Showcase

Here's a glimpse of what the portfolio looks like:

Portfolio Screenshot

(Note: This is a representative screenshot. Visit the live site for the full interactive experience!)


πŸ†• Recent Updates & Improvements (May 2025)

  • Deployment & Build Fixes:
    • Fixed Vite base path and removed problematic custom asset headers from vercel.json to ensure correct static asset serving on Vercel.
    • Resolved issues where the blog page was blank after deployment due to MIME type errors and Vercel routing.
  • Blog Page Professionalization:
    • Added a sticky, left-aligned Table of Contents (TOC) sidebar for the blog, improving navigation and professionalism.
    • Each major blog section now has anchor links, making them directly accessible from the TOC.
    • Improved TOC/sidebar appearance, alignment, and responsiveness for all devices.
  • Styling & UX:
    • Fixed global CSS that was overriding heading colors on the blog.
    • General improvements to the look and feel of the blog page.
  • Structure Clarification:
    • The blog is a single-page app with 7 major sections, each styled as a "Page" and accessible via the TOC.
  • Troubleshooting & Debugging:
    • Documented steps for debugging blank pages, MIME type errors, and Vercel static asset/routing issues.

✨ Key Features

This portfolio website is packed with features designed to present information clearly and engagingly:

  • Modern, Responsive UI/UX: A clean, intuitive, and fully responsive design built with Tailwind CSS, ensuring a seamless experience on desktops, tablets, and mobile phones.
  • Dynamic Sections: Clearly defined sections for different aspects of my profile, including:
    • πŸ‘€ About Me: A detailed introduction to my background, skills, and professional philosophy.
    • πŸ’‘ Skills: A comprehensive showcase of my technical proficiencies, presented using interactive and visually appealing tags.
    • πŸ“š Education: A clear overview of my academic background and achievements, presented in a clean card format.
    • πŸ… Certifications Showcase: Highlighted professional certifications with verification links, also presented in a card format.
    • πŸ’Ό Experience: Detailed information about my professional roles, responsibilities, and key accomplishments, presented in an easy-to-read card format.
    • πŸ† Projects: Interactive project cards showcasing various personal and professional projects, complete with descriptions, tech stacks used, and relevant links.
    • πŸ“ Blog: A single-page blog with a professional, sticky Table of Contents (TOC) sidebar, anchor links for each section, and improved navigation and styling.
  • Interactive Contact Form: A functional contact form powered by EmailJS, allowing visitors to send messages directly. Includes a fun confetti animation on successful submission!
  • Integrated Social Links: Easy access to my professional social media profiles (LinkedIn, Email) for networking and contact.
  • Animations & Transitions: Smooth and modern animations implemented using AOS (Animate On Scroll) and Framer Motion to enhance the user experience and visual appeal.
  • Optimized for Performance: Leveraging Vite for a fast development and build process, and deployed on Vercel for reliable, high-performance global content delivery.

βš™οΈ Tech Stack

This project leverages a robust and modern technology stack to deliver a fast, scalable, and maintainable application:

  • Frontend Development:
    • βš›οΈ React: A popular JavaScript library for building user interfaces. Provides a component-based architecture for building reusable UI elements.
    • ⚑ Vite: A next-generation frontend tooling that provides a fast development experience with features like Hot Module Replacement (HMR) and optimized builds.
  • Styling:
    • πŸ’¨ Tailwind CSS: A utility-first CSS framework that enables rapid styling with pre-defined classes, allowing for highly customizable designs directly in the markup.
    • πŸ“¦ Boxicons: A free collection of carefully crafted open source icons, used for various UI elements like navigation items and social links.
    • 🧩 React Icons: A library that provides popular icon packs as React components, simplifying the process of adding scalable vector icons to the project.
  • Animations:
    • ✨ AOS (Animate On Scroll): A library to easily add reveal animations to elements as they scroll into view.
    • πŸ–ΌοΈ Framer Motion: A production-ready motion library for React, used here for creating smooth and performant animations and gestures.
  • Email Integration:
    • βœ‰οΈ EmailJS: Allows sending emails directly from client-side JavaScript, without needing a backend server. Securely handles sending form data.
  • Performance Monitoring:
    • πŸ“ˆ Vercel Speed Insights: (Added during development) A tool integrated to collect performance metrics and provide insights into the website's speed when deployed on Vercel, aiding in identifying and resolving performance bottlenecks.
  • Deployment:
    • πŸš€ Vercel: A cloud platform for frontend frameworks and static sites, providing automatic deployments, performance optimizations, and serverless functions.

πŸ“¦ Getting Started: Developer Instructions

To get a local copy of the project up and running for development or contribution, follow these steps:

Prerequisites

Make sure you have Node.js and npm (or yarn/pnpm/bun) installed on your machine.

Installation

  1. Clone the repository:

    Open your terminal or command prompt and run the following command:

    git clone https://github.com/KVSC1511/My-Personal-Portfolio.git
  2. Navigate to the project directory:

    cd My-Personal-Portfolio
  3. Install dependencies:

    Use your preferred package manager:

    npm install
    # or
    # yarn install
    # or
    # pnpm install
    # or
    # bun install

Running the Development Server

Once the dependencies are installed, you can start the local development server:

npm run dev
# or
# yarn dev
# or
# pnpm dev
# or
# bun dev

Open your web browser and visit the address displayed in the terminal (usually http://localhost:5173). Vite provides Hot Module Replacement (HMR), so changes you make to the code will update in the browser instantly without a full page reload.

Building for Production

To create an optimized production build of the application:

npm run build
# or
# yarn build
# or
# pnpm build
# or
# bun build

This command compiles and minifies the code into the dist folder, ready for deployment.

Previewing the Production Build

You can locally preview the production build to ensure everything works as expected before deploying:

npm run preview
# or
# yarn preview
# or
# pnpm preview
# or
# bun preview

This will start a local server serving the files from the dist folder.


πŸ“ Customization Guide

Personalizing this portfolio template is straightforward. Here's how you can make it your own:

  • Replace Profile Images:
    • Locate your profile images in public/images/profile.JPG and potentially assets/images/Thumbnail.jpg.
    • Replace these files with your own images, keeping the same file names or updating the paths in src/App.jsx and README.md accordingly.
  • Update Social Media URLs:
    • Open src/App.jsx.
    • Find the social-icons section and update the href attributes of the <a> tags with your own LinkedIn and email links.
  • Edit Content Sections (About, Skills, Education, Experience, Projects):
    • The content for these sections is primarily managed within the src/App.jsx file.
    • Edit the text, dates, descriptions, and tech stacks within the respective sections to reflect your own information and achievements. The structure uses React components and standard JSX, making it easy to update.
  • Configure EmailJS:
    • Open src/components/Contact.jsx.
    • You will need to sign up for a free account on EmailJS.
    • Replace the placeholder public key (hkNKS0EUbuFnA2a5j in the emailjs.init() call) with your actual EmailJS public key.
    • Configure your EmailJS service, template, and account to receive emails.
  • Customize Tailwind Styles:
    • Tailwind CSS is used for all styling. You can customize the theme (colors, fonts, spacing, etc.) by editing tailwind.config.js.
    • Modify existing utility classes in your JSX files (.text-xl, .mb-4, etc.) or add new custom CSS in src/index.css using Tailwind's @apply directive if needed.
  • Edit Blog Sections & TOC:
    • To add or update blog sections, edit the relevant components in src/ and update the TOC/sidebar for new anchor links.

πŸ“ Project Structure

The project follows a standard structure for a Vite-based React application:

.
β”œβ”€β”€ public/                 # Static assets (images, certifications, favicon)
β”‚   β”œβ”€β”€ images/
β”‚   β”‚   β”œβ”€β”€ Navlogo.png
β”‚   β”‚   β”œβ”€β”€ python.png
β”‚   β”‚   β”œβ”€β”€ aws.png
β”‚   β”‚   β”œβ”€β”€ Thumbnail.jpg
β”‚   β”‚   β”œβ”€β”€ about.jpg
β”‚   β”‚   β”œβ”€β”€ profile.JPG
β”‚   β”‚   └── vsc-logo.png
β”‚   └── certifications/
β”‚       └── edureka-python.pdf
β”œβ”€β”€ assets/                 # Additional assets (e.g., images, icons)
β”‚   β”œβ”€β”€ images/
β”‚   β”‚   β”œβ”€β”€ Thumbnail.jpg
β”‚   β”‚   β”œβ”€β”€ ProCodrr.webp
β”‚   β”‚   β”œβ”€β”€ Srihari.webp
β”‚   β”‚   β”œβ”€β”€ coder.svg
β”‚   β”‚   β”œβ”€β”€ contact-me.svg
β”‚   β”‚   β”œβ”€β”€ eazygrad.webp
β”‚   β”‚   β”œβ”€β”€ expense-tracker.webp
β”‚   β”‚   β”œβ”€β”€ harigurus.webp
β”‚   β”‚   β”œβ”€β”€ kira.webp
β”‚   β”‚   β”œβ”€β”€ money-arjan.webp
β”‚   β”‚   β”œβ”€β”€ name-logo-black.svg
β”‚   β”‚   β”œβ”€β”€ name-logo-favicon.svg
β”‚   β”‚   β”œβ”€β”€ name-logo-white.svg
β”‚   β”‚   β”œβ”€β”€ name-logo.svg
β”‚   β”‚   β”œβ”€β”€ pioneer-digital.webp
β”‚   β”‚   β”œβ”€β”€ profile.JPG
β”‚   β”‚   β”œβ”€β”€ saatvik.webp
β”‚   β”‚   └── web-dev-english.webp
β”‚   └── icons/
β”‚       β”œβ”€β”€ at-symbol.svg
β”‚       β”œβ”€β”€ chat.svg
β”‚       β”œβ”€β”€ email.svg
β”‚       β”œβ”€β”€ express.svg
β”‚       β”œβ”€β”€ external-link.svg
β”‚       β”œβ”€β”€ github.svg
β”‚       β”œβ”€β”€ instagram.svg
β”‚       β”œβ”€β”€ linkedin.svg
β”‚       β”œβ”€β”€ mongodb.svg
β”‚       β”œβ”€β”€ moon.svg
β”‚       β”œβ”€β”€ name-logo.svg
β”‚       β”œβ”€β”€ node.svg
β”‚       β”œβ”€β”€ phone.svg
β”‚       β”œβ”€β”€ react.svg
β”‚       β”œβ”€β”€ sun.svg
β”‚       β”œβ”€β”€ telegram.svg
β”‚       β”œβ”€β”€ twitter-x.svg
β”‚       β”œβ”€β”€ twitter.svg
β”‚       β”œβ”€β”€ user.svg
β”‚       β”œβ”€β”€ whatsapp.svg
β”‚       └── x.svg
β”œβ”€β”€ src/                    # Source code
β”‚   β”œβ”€β”€ components/         # Reusable React components
β”‚   β”‚   β”œβ”€β”€ BackgroundLogo.jsx
β”‚   β”‚   β”œβ”€β”€ Blog.jsx
β”‚   β”‚   β”œβ”€β”€ BlogCard.jsx
β”‚   β”‚   β”œβ”€β”€ BlogNavbar.jsx
β”‚   β”‚   β”œβ”€β”€ Contact.jsx
β”‚   β”‚   β”œβ”€β”€ HamburgerMenu.jsx
β”‚   β”‚   β”œβ”€β”€ ParallaxBackground.jsx
β”‚   β”‚   └── VscLogo.jsx
β”‚   β”œβ”€β”€ data/               # Data files
β”‚   β”‚   └── blogData.js
β”‚   β”œβ”€β”€ pages/              # Page-level components
β”‚   β”‚   β”œβ”€β”€ BlogLanding.jsx
β”‚   β”‚   └── BlogPost.jsx
β”‚   β”œβ”€β”€ App.jsx             # Main application component
β”‚   β”œβ”€β”€ index.css           # Global styles and Tailwind directives
β”‚   β”œβ”€β”€ main.jsx            # Entry point for the React application
β”‚   └── output.css          # Generated CSS (if any)
β”œβ”€β”€ tailwind.config.js      # Tailwind CSS configuration
β”œβ”€β”€ vite.config.js          # Vite build configuration
β”œβ”€β”€ package.json            # Project dependencies and scripts
β”œβ”€β”€ package-lock.json       # Locked dependency versions
β”œβ”€β”€ README.md               # This file
β”œβ”€β”€ LICENSE                 # Project license information
β”œβ”€β”€ input.css               # Additional CSS input file
β”œβ”€β”€ font.css                # Font CSS
β”œβ”€β”€ style.css               # Additional styles
β”œβ”€β”€ matter.js               # Additional JS utility
β”œβ”€β”€ postcss.config.js       # PostCSS configuration
β”œβ”€β”€ .gitignore              # Git ignore file
β”œβ”€β”€ .DS_Store               # macOS system file
└── vercel.json             # Vercel deployment configuration

🧩 Notable Libraries Used

This project utilizes several key libraries to enhance functionality and development experience:

  • react-icons
    • Purpose: Provides a vast collection of popular icon sets as React components, making it easy to integrate high-quality vector icons without manual SVG handling.
  • boxicons
    • Purpose: A free collection of open-source vector icons. Used in this project for specific icons within the navigation and social links.
  • aos
    • Purpose: A lightweight JavaScript library to add "Animate On Scroll" effects. Elements fade in or slide when they come into the viewport, adding dynamic flair.
  • framer-motion
    • Purpose: A powerful and production-ready motion library for React. Used here for creating more complex animations and interactive effects beyond simple scroll reveals.
  • react-scroll
    • Purpose: Enables smooth scrolling functionality when clicking navigation links that point to different sections of the single-page application, improving user navigation.
  • emailjs
    • Purpose: Facilitates sending emails directly from the client-side. It securely relays form data to your email service without requiring a custom backend endpoint, simplifying contact form implementation.
  • @vercel/speed-insights
    • Purpose: (Added during development) A library to collect performance metrics and provide insights into your website's speed when deployed on Vercel. Helps identify and fix performance bottlenecks.

πŸ›‘οΈ License

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

You can find the full license text in the LICENSE file.

This means you are free to use, copy, modify, and distribute the code, provided you include the original copyright and license notice.


Contributing

I welcome contributions to improve this portfolio! If you have suggestions for new features, find a bug, or want to improve the documentation, please feel free to:

  1. Fork the repository.
  2. Create a new branch for your feature or bugfix.
  3. Make your changes and commit them with clear, concise messages.
  4. Push your branch to your fork.
  5. Open a Pull Request to the main branch of this repository, describing your changes.

I'll review your contribution and work with you to get it merged.


🀝 Connect with Me

Let's connect! You can find me on:

Feel free to reach out for collaborations, questions, or just to say hello!


πŸ™ Acknowledgements

  • Inspired by various modern portfolio designs.
  • Thanks to the creators of the libraries and frameworks used in this project.

πŸ™‹β€β™‚οΈ Author

This portfolio was designed and developed by:

Venkata Sai Charan


About

πŸ‘‹ Hello! Welcome to my portfolio website β€’ βš›οΈ Built with React, Vite & Tailwind CSS β€’ πŸ’Ό Showcases skills, experience & projects β€’ βœ‰οΈ Contact form powered by EmailJS β€’ πŸŒ™ Includes dark mode for a sleek look β€’ πŸš€ Deployed on Vercel for fast performance

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published