Portfolio Website Inspired by VS Code
Tags: webdev, javascript, react, tutorial
Published: 2023-01-12 23:10:00

---
## Introduction
I wanted to create a visually appealing and easy to navigate website that reflected my personality. I used the layout and theme of Visual Studio Code as inspiration and in this post, I'll share my experience building the website, the tools and technologies used, and the challenges I faced. I hope it can be an inspiration for other developers looking to create their own portfolios.

## Design Inspiration
I drew inspiration from the sleek and intuitive layout of Visual Studio Code, my favorite code editor, when designing my personal portfolio website. I incorporated elements such as the sidebar layout and a similar color scheme to make the website clean, modern and easy to navigate. Overall, the website reflects both my skills and my love for Visual Studio Code.

## Tools and Technologies
To build my personal portfolio website, I used a combination of technologies including ReactJS, Vite, React Router and CSS. I chose ReactJS as my JavaScript library because of its flexibility and scalability. Vite was my choice for the development server, it's faster and lightweight which is perfect for building small projects like my portfolio. React Router was used to handle client-side routing and to make the website a single page application. And lastly, I used CSS for styling.

## Building
It was a fun and challenging experience. I started by setting up the development environment and creating the basic structure of the website using Vite for development server

```npm create vite@latest```

Next, I focused on the design, using CSS to create a responsive and mobile-friendly layout. 
I also used React Router to create a single-page application , this helped to make the development process faster and more efficient.


![Router code](https://i.imgur.com/D24gA5b.png)

One of the key features of Visual Studio Code is the sidebar. I wanted it to have a smooth and intuitive transition when opening and closing. To achieve this, I used global state to store the state of the sidebar as Boolean and passed its value and handler functions as props to the different pages. This allowed me to control the animation by updating the state and triggering the handler functions when the sidebar was toggled. Using global state made it easy to manage the state of the sidebar and ensure that the animation was in sync with the rest of the website.

![State](https://i.imgur.com/IYc4eAb.png)

One other interesting part of my portfolio website was taking inspiration from the code editor in VS Code. I wanted to mimic the layout and functionality of the code editor and used it to display the content. To achieve this, I used the same layout of the sidebar and the main editor area. By replicating the code editor layout, I was able to create a website that was easy to navigate and provided a unique and engaging experience for the user.

![Content](https://i.imgur.com/Y6URUqA.png)

## Final result

Check here : [Portfolio](https://lotfijb.netlify.app)

The final product of my personal portfolio website exceeded my expectations. I was able to create a website that was visually appealing, easy to navigate and fully responsive. The process of building the website was challenging but it taught me a lot and I am happy with the final outcome. Overall, it was a great experience and I am excited to share it with others.

#### Some screenshots

![Content](https://i.imgur.com/Eg9b443.jpg)

![Content](https://i.imgur.com/GyPnufH.png)

![Content](https://i.imgur.com/6oaSnkW.png)

## Conclusion
In this post, I shared my experience of building my personal portfolio website. I hope that it has provided insight into how to create a visually appealing and easy to navigate website that reflects your personality. I was able to use my favorite code editor, Visual Studio Code, as inspiration to build my portfolio. I encourage other developers to create their own personal portfolio websites and to not be afraid to try new things and to be creative. The final outcome will be a great addition to your online presence and will help you to stand out in the industry.

Browse code here : [Github repository](https://github.com/lotfijb/vsc_portfolio)

## Connect with me

- [Twitter](https://twitter.com/lotfijb)
- [LinkedIn](https://linkedin.com/in/lotfijbeli)
- [Github](https://github.com/lotfijb)
- [Portfolio](https://lotfjb.netlify.app)