Hi, my name is Dominic. Nice to meet you!

logo

Currently employed at Culture Amp as an Associate Engineer

Some of my skills:
Python
Javascript
Java
C++
NextJS
ReactJS
NodeJS
PostgreSQL
Docker
Sanity
GSAP
TailwindCSS
Ruby
-
A little about me

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.

dominicshenley@gmail.com
-
  1. Bronze Medalist at World Mathematics Invitational

  2. Bronze Medalist at Southeast Asian Mathematical Olympiad

  3. Enrolled in The University of Melbourne

    I was admitted to The University of Melbourne to study a Bachelor in Science, majoring in Computing and Software Systems
  4. Employed at Enco Group as a Developer

    In this role, I was given exposure to fullstack development. I was given a project where I had to build backend FastAPI endpoints which strengthened my understanding of Python, as well as backend engineering. I was also tasked in building the frontend, where I learned how to use VueJS. I also had some experience handling docker images.
  5. Graduated from The University of Melbourne

    In November of 2023, I graduated with a degree in Science, majoring in Computing and Software Systems. I graduated with an H2A (Distinction).
  6. Employed at Culture Amp

    I accepted an offer from Culture Amp and begun working as an Associate Engineer
-

Projects

This Portfolio
Portfolio Image
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).
NextJSTailwindCSSReactJSSanity CMSGSAP
Caffeinate Me!
Caffeinate Me Image
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.
TailwindCSSGoogle Maps APIReactJSNextJS
Productivite
Productivite Dashboard
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.
Authentication (NextAuth)Database Management (PrismaORM)MongoDB
-