A recent graduate from The University of Melbourne, I'm passionate about Software Engineering and Cybersecurity. In the past, I've worked as a Software Developer where I built tools to aid a company in their operations. My main skills are in Web Development, but I spend my free time working on learning new skills. The most recent skill I've been working on is Cybersecurity. I often participate in CTFs where I can practice hacking skills.
This portfolio was probably the biggest project I've done as of April 2024. I think most people go about creating their personal website using a drag-and-drop solution but I decided to code it up from scratch. One of the biggest takeaways from coding it up from scratch is definitely frontend design. In the past, I've struggled with using CSS flexboxes to style and layout my websites but after this project, I'm definitely more confident in my abilities. I've also learned how to use a headless CMS like Sanity, which provides a convenient way of adding/removing/editing data that I want to display on my website. I've also learned a couple of things about NextJS, particularly about server-side-rending (SSR) and client-side-rendering (CSR).
This was a fun little project that I built that introduced me to NextJS and Google Maps API. It's a website that I plan on updating and maintaining for a while. I learned a lot about general Web development in this project. I ran into some issues styling the website because I was using both Material UI and Tailwind. I figured out the problem in the end and decided to just use Tailwind for the project.
A minimalistic to-do list using an agile framework. Tasks are done in sprints, just like in a scrum team. This project served as a medium for me to learn how to set up proper authentication systems using NextAuth. My authentication system allows users to log in mainly using Google and optionally other providers. I also learned how to propagate authentication throughout the website in order to redirect users if a session has expired to prompt them to log in again. This project also uses PrismaORM as a database driver to connect a MongoDB database to the backend server.