I am a Canadian citizen and am passionate about coding and software engineering. I have a strong programming foundation and am proficient in Java, Python, C#, C/C++, R, SQL, React, TypeScript, Next.js, Node.js, and PostgreSQL. Additionally, I have hands-on experience with industry-standard software tools like Unity Engine, Android Studio, Eclipse, RStudio, Oracle, Visual Studio, CodeBlocks, IntelliJ, Replit, and Cursor.
My expertise extends beyond practical skills, including theoretical knowledge of various techniques and algorithm analyses. Specifically, I have focused on object-oriented programming (OOP), parallel computing, software construction, and data/network structures. This combination of theory and practice enables me to approach software development holistically, while being detail-oriented.
My main area of interest lies in software engineering projects related to augmented reality (AR)/virtual reality (VR) and mixed reality (MR), all in extended reality (XR). I am passionate about leveraging these technologies to create immersive and innovative experiences more focused on game development.
I would be delighted to connect with you and explore potential opportunities if you are searching for a driven and skilled software engineer or researcher with a keen interest in AR/VR/MR (XR) projects.
Some of my Challenges Over Sample Work and Portfolio
(hit the play button to play the game)
One of the biggest challenges I faced while creating Galagsis was getting the collider feature to work properly. The player wasn’t consistently recognizing collisions with obstacles or enemies, which caused issues with gameplay mechanics. After some frustrating trial and error, I was able to fix it by adjusting the collider settings and refining the detection logic. Another challenge was implementing player tilting without affecting horizontal movement. It took some experimentation, but I eventually found a way to achieve the desired effect while keeping the controls responsive.
While creating Clicky Crates, one of the main challenges I faced was detecting when crates fell out of the scene to trigger a game over. At first, the game didn’t properly recognize when a crate was off-screen, which caused issues with ending the game at the right time. After some troubleshooting, I solved it by setting up boundary colliders and using triggers to detect when a crate left the play area, ensuring the game over condition activated correctly.
While creating Bowling, I faced several challenges, including implementing a hooking mechanic for the ball, properly adjusting the player’s position with the camera, and ensuring the gutter functioned correctly. The hook feature required fine-tuning the input controls to make the ball curve naturally based on player input. Aligning the player with the camera was tricky, as I had to balance visibility and control. Additionally, making the gutter push the ball forward after hitting the borders took some experimentation with collision and force application, but I eventually got it working smoothly.
While creating Ball Mechanic, one of my main challenges was setting up a rounded fixed camera that followed the player’s movement smoothly. I had to fine-tune the camera behavior to maintain a consistent view without abrupt shifts. Another challenge was linking the camera movement naturally to the player's motion, ensuring it felt responsive and intuitive. Additionally, implementing power-up activation was tricky at first, but after refining the logic and timing, I was able to get it working as intended.