This project is an interactive portfolio website that presents my work and skills in a more engaging way.
Instead of a normal static portfolio, I wanted something that feels like a lecturer or presenter is guiding the user through the content. The idea was inspired by how learning becomes easier when someone explains things visually and step-by-step.
This is a front-end web application built using HTML, CSS, and JavaScript.
The app generates random compliments from a predefined list and displays them instantly when the user clicks a button.
The focus of the project was simplicity, interaction, and learning how to manipulate the DOM effectively.
-Generates random compliments on button click -Simple and clean user interface -Instant feedback without page reload -Lightweight and fast performance -Beginner-friendly JavaScript logic
- HTML5
- CSS3
- JavaScript (Vanilla JS)
While working on this project, I learned:
-How to work with arrays in JavaScript -Handling user events (button clicks) -DOM manipulation and dynamic content updates -Structuring small front-end projects -Improving user experience with simple interactions
Some challenges I faced:
-Making sure the random generator doesn’t repeat too often -Keeping the design simple but still visually appealing -Structuring the JavaScript in a clean way -Testing interaction flow to make sure it feels smooth
Most of it was trial and improvement while adjusting small details.
If I continue working on this project, I would:
-Add categories of compliments (motivation, friendship, confidence, etc.) -Include animations when a compliment appears -Allow users to add their own compliments -Improve UI design for a more modern look
Nomcebo Mtshali
This project is part of my portfolio to show both technical skills and creativity.
I wanted something different from a standard portfolio, while still keeping it simple enough to build and understand.