Portfolio
MyResume: A Portfolio CMS With a Tech-Styled, Themeable Front End
24 September 2026 · 1 min read · Desmond Yap Jia Chun
MyResume is the site you are looking at right now. It is a Laravel portfolio CMS: I manage everything from a back office, and this public page updates as soon as I save.
One back office for everything
- Profile: photo, role, location, contact links and an about section.
- Education, Experience, Projects and Blog: full create, edit and delete, with a rich text editor for descriptions.
- Inbox: messages from the contact form land here, with read and unread status.
- Dashboard: visitor logs, so I can see today's visits and overall traffic.
Theme from the admin
A Theme Setting page lets me pick a colour preset (Black Gold, Ocean Blue, Indigo, Light Green, Slate or Rose) or set my own colours, and choose the login page background. The colours are output as CSS variables, so the back office, the login page and this public site all change together, with no rebuild.
A front end with a technology feel
- A live network of connected nodes in the hero that reacts to your mouse.
- A terminal-style line that types out my roles, and a glitch effect on my name.
- Scroll reveals, cards with rotating neon borders, and a data pulse running down the experience timeline.
- Heavy animations switch off automatically for visitors who prefer reduced motion.
Security matters
While building it I found that the old image upload trusted the file extension sent by the browser. A crafted "image" could have been saved as a live HTML page on the site. Now every uploaded image is decoded and redrawn as a new file, so only the pixels are kept and any hidden script is thrown away. The server also picks the file name and extension itself.
Tech stack
Laravel 10 · PHP 8.1 · MySQL · Blade · KaiAdmin (Bootstrap) · jQuery · GD image processing · Canvas animation.