Skip to content

PixelPusher829/Personal-Portfolio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My Personal Portfolio: From Static to SvelteKit! 🚀

This repository currently hosts the source code for my personal portfolio, a showcase of my web development and design skills. It's built on a solid foundation of HTML5, CSS3 (with Sass), and vanilla JavaScript. You'll find a strong emphasis on responsive design, a robust grid-based layout, and essential interactive elements like a contact form with email validation and a smooth-scrolling navigation menu. It even includes modals for project details and a loading animation for a slick user experience.

Current Features:

  • Responsive Design with a focus on Accessibility
  • Built with HTML5, CSS3, and JavaScript
  • Utilizes Sass for CSS pre-processing
  • Features a grid-based layout system
  • Includes a contact form with email validation
  • Has a working navigation menu with smooth scrolling
  • Includes a modal for displaying additional project information
  • Has a loading animation for faster page loading times

The SvelteKit Refactor: Taking Things to the Next Level! ✨

While the current setup is effective, I'm actively working on a major refactor to SvelteKit. This upgrade will significantly enhance the portfolio's maintainability, performance, and scalability. With SvelteKit, I'll be leveraging:

  • Component-based Architecture: Breaking down existing HTML sections into reusable Svelte components for cleaner and more manageable code.
  • Built-in Routing: SvelteKit's file-system based routing will streamline navigation, simplifying what might currently be manual JavaScript handling.
  • Reactive UI: Svelte's powerful reactivity will simplify managing dynamic content, like contact form validation and modal interactions, often with far less code than vanilla JavaScript.
  • Static Site Generation (SSG): This is crucial for deployment! SvelteKit can pre-render the entire site into highly optimized, static HTML, CSS, and JS files.

Why SvelteKit?

The refactor aims to create an even more polished and performant portfolio by:

  • Modernizing Features: Reimplementing interactive elements using Svelte's reactive approach for a more efficient codebase.
  • Enhanced Accessibility: Leveraging Svelte's capabilities to ensure even better accessibility for all interactive components.
  • Improved Performance: Benefiting from Svelte's famously small bundle sizes and fast execution, providing a lightning-fast user experience.

Future Features: Svelte 5 Runes & Dynamic Project Filtering! 🎯

I'm incredibly excited to announce that this refactor will be based on Svelte 5's new "Runes" API! This cutting-edge feature promises to make implementing dynamic functionalities even more intuitive and powerful.

The new Runes (like $state, $derived, and $effect) introduce a more explicit, signal-based reactivity model that will feel incredibly natural. This will allow me to:

  • Simplify state management: Declaring reactive variables will be crystal clear with $state.
  • Enhance reusability: Create reactive functions and logic that can be easily shared across components, making complex features like advanced filtering much cleaner.
  • Implement Dynamic Project Filtering: With $derived and $effect runes, I'll be able to create highly efficient and dynamic filtering mechanisms for my portfolio projects. Imagine instantly filtering projects by type (e.g., "Web Development," "UI/UX Design," "JavaScript") or specific tools used, providing a much richer and more personalized Browse experience for visitors!

Check out the Live Portfolio! 🌐

You can see the current version of the portfolio, deployed directly from this repository to GitHub Pages, right here:

https://pixelpusher829.github.io/Personal-Portfolio

Stay tuned for updates as I integrate the new Svelte 5 Runes and roll out that dynamic project filtering feature very soon! It's going to be a game-changer for showcasing my work! 🤩


How to Use (Current Version)

  1. Clone the repository: git clone [repository-url]
  2. Navigate into the project directory: cd [project-name]
  3. Install the dependencies: npm install
  4. Run the development server: npm run dev
  5. Open your web browser and navigate to http://localhost:1234

Tools Used (Current Version):

  • HTML5
  • CSS3
  • Sass
  • JavaScript
  • Parcel
  • CSS Grid
  • Flexbox
  • Responsive design
  • Accessibility features
  • SvelteKit (coming soon)

About

My personal portfolio website, featuring a collection of my projects and outlining my technical skills and professional experience.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published