hi, i'm
software developer
& technical game designer/artist
& university student
Next.js / React / TypeScript / RAG / Riipen Internship
A real estate web app with an AI assistant that answers questions about Ontario's housing market, backed by 1.3M+ live MLS listings.
Contributed to the landing page, neighbourhood market reports for 52 cities and 300+ neighbourhoods, AI chat behaviour and provider routing, and the map's investment-metric filters (yield, cap rate, IRR).
React Native / Expo / TypeScript / Fastify / PostgreSQL
iOS app on the App Store that identifies plants from a photo using GPT-4o Vision + PlantNet, then tracks their health and care over time.
Built the React Native + Expo client and a Fastify + PostgreSQL backend with JWT auth, scan history, care logs, a nearby/online plant marketplace, and an in-app subscription system.
Unity / C# / Game Development
A 3D narrative-driven exploration game set in a post-collapse Museum of Human Achievement. Players crash-land on Earth and must recover technological artifacts from different historical eras to repair their spacecraft and escape.
Built the repair minigames (welding, laser redirection, satellite repositioning) and integrated systems developed across the team into a cohesive experience. Team of 5. Capstone project.
Role: Lead developer
C# / Unity / Game Development
Insomnia is a first-person 3d adventure game that uses aspects of time and space. As the player explores they get clues from "echoes", the souls of the dead. They use those clues to acquire keys, unlock the exit and end the game.
Bullet Time Mechanic and Lock on Turrets
The player can enter and exit bullet time to evade or move through platform obstacles. Lock-on turrets that move to chase the player. Since it uses Unity's delta time, the speed at which the turrets rotate towards the player can be adjusted regardless of if bullet time is activated.
PLATFORM OBSTACLES
Moving platforms that require the player to get the correct timing.
GHOST FLOORS
An obstacle that requires the player to follow an object that temporarily reveals floors. The speed at which the object moves on its path can be changed.
TIME BUBBLE
An obstacle that changes the velocity of objects that enter it including the player.
C++ / Unreal Engine / Game Development
Developed a C++ component in UE5 that allows for customizable Newtonian gravity mechanics, enabling realistic player and object movement influenced by a gravitational force.
Augmented UE5’s destruction system to allow for directional gravity on a geometry collections. Also created a flight system allowing users to transition from planet to space.
Snow Accumulation / Snow Deformation / Particle Collision
Snow Accumulation: Allows for the accumulation of snow on specified meshes using a dynamic mesh, able to generate variation based on noise or displacement textures. Created an editor utility tool to convert it to a static mesh for exporting. A wind vector can also be added to give directional snow accumulation.
Snow Deformation: Through real-time landscape deformation using render textures and runtime virtual textures that can be kept in memory.
Particle Collision: Using GPU distance field allowing particles to collide with objects in the scene’s distance fields.
Next.js 14 / TypeScript / globe.gl / Python FastAPI
An interactive 3D globe visualization showing global greenhouse gas emissions. Built with Next.js 14, TypeScript, globe.gl, and a Python FastAPI backend.
Features:
Full-stack architecture: Next.js frontend with Python FastAPI backend.
Visual Novel / Action / Experimental Gameplay
A rhythm-of-choices visual novel where dialogue runs in real time. Input arrow-key combos before the timer runs out to lock in your response. A love story under pressure—no idle clicking, with heart-racing interaction and split-second choices. Team submission for DATT 4300: Experimental Gameplay (2025). Co-created with rxx09, Phoebe Nguyen, and team.
Puzzle / 2D / Experimental Gameplay
A puzzle game about precision and chaos. Use the mouse to tilt, lean, and bow your character—every degree counts. Find the exact angle to survive wacky scenarios where your reputation (and sometimes your life) depends on it. Team submission for DATT 4300: Experimental Gameplay (2025). Co-created with rxx09, Phoebe Nguyen, and team.
React / Next.js / C# .NET / Postgresql
Developed a web application that features Marvel Snap cards and uses the Marvel Comics API. It uses a spawning system to generate random cards on a random co-ordinate within a specified radius on a map created with the Google Maps API. It also allows users to collect these cards and add them to their collection while they explore the real world.
JavaScript / React / Vite / Node / Express / MongoDB / solo project
Developed a website that displays a catalogue of Version Katoki (Ver. Ka) Gundam model kits.
Each model kit has an info page containing a video about it and links to stores that sell it.
Also has a display and UI optimized for mobile and desktop
The Front-End uses React, Vue, and Node.js and is deployed using GitHub pages. The backend
uses MongoDB for the database and Node.js along with Express for the backend API. It is kept
running by an AWS EC2 Instance.
Also used REST APIs like Google’s YouTube Data API and Maven dependencies via Java to
gather data and input it into the MongoDB Database.
Unreal Engine / C++
Wake is an adrenaline-pumping third-person parkour game set in a futuristic sci-fi world. Players must use WASD and Spacebar to run, jump, and navigate through a series of obstacles to reach the end platform. With abilities like boost, dash, and Antigravity, they can enhance their movement and control in the air. The game features various platform types and traps, including sinking red platforms, tilting blue platforms, and rotating trap floor platforms. Players can also wall run on green-lit walls for added agility. The ultimate goal is to reach the green goal platform to win the game.
C# / Game Development
Developed a side-scroller game called “Blight Souls” with C# using Unity. Made scripts for the behaviour of the player, objects, and NPCs (Non-playable characters). Each object and NPC along with the player have scripts giving them different functions, effects, and properties such as a health bar and power bar, dealing damage, powering up an ability, spawning an object, movement, speeding up or slowing down, and playing sounds and animations.
Java / OOP
Based on and implements some of the gameplay and mechanics from the GWENT mini-card game from the video game “The Witcher 3: The Wild Hunt”.
It uses Java AWT components to render cards, the board and UI elements. Implements class relationships such as inheritance to make card variants, composition to give the board a card objects and an Ability interface to give unique abilities to cards that implement it.
Software Developer Intern/Co-op
Software Developer Intern/Co-op
I’m a Digital Media (Game Arts) student at York University. Digital Media is a program offered by the Lassonde school of engineering.
Courses
Object Oriented Programming-Java, Data Structures, Shell Scripting, Game & Web Development, 3d modelling
Diploma in Computer Programming
I’m currently open to internship/co-op opportunities. Feel free to reach out!