Assignment 4 Final Portfolio
Moayd Shahat
A polished personal web application that brings together state management, API integration, responsive UI design, form validation, documentation, and AI-assisted workflow transparency.
About
Building reliable web experiences with clear logic and practical documentation.
Profile
I am a Software Engineering student at KFUPM focused on web development, AI-supported workflows, and disciplined problem solving. This final portfolio extends my Assignment 3 application into a more complete, presentation-ready product.
What Changed From Assignment 3
- Reframed the page as a complete personal portfolio rather than a feature demo.
- Added stronger visual hierarchy, documentation links, and presentation support.
- Kept the Assignment 3 JavaScript features and improved their surrounding UX.
Capabilities
Course concepts demonstrated in one integrated application.
Responsive Interface
Layouts adapt across desktop, tablet, and mobile widths with stable card, form, and control behavior.
Client-Side State
Theme, visitor name, status, filters, and timers are managed through structured JavaScript state.
External Data
Recent GitHub repositories load through the public GitHub API with loading and error states.
Validation
Contact input is checked before submission with accessible error states and clear feedback.
Personalize
Persistent browser state gives each visitor a customized session.
Projects
Filter, sort, and review portfolio work by topic and complexity.
API Integration
Live GitHub repositories fetched from the GitHub public API.
Development Process
Incremental improvement from Assignment 3 to a final polished product.
Interactive Application Core
State persistence, filtering, sorting, API fetching, and validation established the technical foundation.
Professional Portfolio Layer
Visual hierarchy, richer content, evidence links, and presentation preparation made the project complete.
Quality and Documentation
README, technical notes, AI usage, and manual test steps now support the final submission.
Contact
Validated form with clear feedback before submission.
Submission Evidence