Building My Portfolio Project: Reflections and Lessons Learned
As part of my journey through the ALX program, I recently completed a portfolio project, and the experience was both challenging and incredibly rewarding. In this post, I’ll take you through the purpose of my project, the challenges I faced, and what I learned along the way. This project was a solo endeavor, and I’m proud of how it turned out.
Introduction: The Purpose of My Project
The goal of my portfolio project was to create a professional, personal website where I could showcase my skills, projects, and experience as a software engineer. The website was designed to be simple, yet elegant, with smooth navigation and animations that enhance the user experience.
The project was created for potential employers and collaborators who want to learn more about my work, download my resume, and easily get in touch with me. It was important to me that the site reflected my attention to detail and technical proficiency.
Team:
Personal Story: Why This Project Mattered
This project holds a special place in my heart because it represents my journey into the tech world. I started with limited knowledge in web development, and now, I’ve developed a fully functional website from scratch using only HTML, CSS, JavaScript, and jQuery.
What motivated me was the need to establish a professional online presence, something that I could proudly share with potential employers or collaborators. As someone with a strong interest in animations and user interactivity, I wanted this project to showcase my abilities to create engaging user experiences using pure front-end technologies.
Project Accomplishments: What I Built
Technology Stack:
For this project, I chose to focus solely on front-end technologies to push my understanding of web development without relying on any external frameworks.
Features:
Recommended by LinkedIn
Technical Challenge: Using Pure CSS, JavaScript, and jQuery for Animation
One of the biggest technical challenges I faced was ensuring that all the animations and interactivity were created using pure CSS, JavaScript, and jQuery, without relying on external animation libraries.
Situation: I wanted to add smooth animations and transitions to my website to improve user engagement.
Task: My goal was to create a site that felt modern and interactive but without using frameworks like React or animation libraries like GSAP. I challenged myself to use only pure CSS for styling and JavaScript/jQuery for the animations.
Action: I spent significant time researching CSS transitions and JavaScript’s ability to control animations. I implemented everything manually—from scroll animations to hover effects—ensuring that all interactions were smooth and responsive.
Result: After several iterations and a lot of trial and error, I successfully integrated animations that work seamlessly across different devices and browsers. This not only enhanced the user experience but also helped me gain a deeper understanding of how animations work in the browser.
Lessons Learned: Growth as a Developer
This project taught me a lot, both technically and personally.
Technical Takeaways:
Personal Growth:
Completing this project solo was a major confidence booster. It reaffirmed my ability to independently design, develop, and deploy a functional website. I learned the importance of persistence when tackling difficult problems, such as creating animations from scratch.
Conclusion: What’s Next?
This project has reinforced my passion for front-end development, particularly when it comes to creating interactive and visually appealing web experiences. Moving forward, I plan to explore more advanced animation techniques and work on full-stack applications that incorporate the back-end knowledge I’ve acquired.
About Me:
I’m Kerols Badr Tawfik Zaki, a skilled software engineer with a strong academic background from Harvard’s CS50 program and expertise in Python, Django, Flask, C, and TypeScript. I’m also proficient in DevOps practices, including CI/CD pipeline configuration and web application deployment. I’m committed to continuous learning and staying updated with industry trends, and I’m eager to contribute to dynamic software development environments.