Hello, I'm Nathan.

I'm a Software Developer.

View my work

About Me

I'm a software developer focused on C++, Python, JavaScript, and Unreal Engine. I've worked on projects like underwater VR simulations, real-time gaze-tracking systems, and optimized game-streaming technology. I'm always looking for challenging problems to solve and new things to learn.

Python
Python
C++
C++
SQL
SQL
JavaScript
JavaScript
Java
Java
Linux
Linux
PHP
PHP
C#
C#
Git
Git
NoSQL
NoSQL
Embedded C
Embedded C
Unreal Engine
Unreal Engine
Frontend
Frontend
Download Resume

Education

  • University of Rhode Island

    B.S. Computer Science - Minor in Mathematics

    Spring 2026

    • Coursework: Operating Systems & Networks, Computer Organization, Data Structures, Algorithms, Linear Algebra, Combinatorics, Machine Learning Security, Calculus
    • GPA 3.6 / 4.0
    • Dean's List (2x)
  • Community College of Rhode Island

    A.S. Computer Science

    Spring 2024

    • Dean's List (4x)

Work Experience

  • Software Engineer Intern

    PlayStation - Aliso Viejo, CA

    Summer 2025

    Embedded C, Python

    • Extended STM32 firmware to add game-agnostic latency measurement for local vs. cloud benchmarking.
    • Built a color library in CIE L*a*b* space with adaptive signal tuning to minimize sensor latency.
    • Implemented an on-device HSV record/replay system for color calibration on resource-constrained hardware.
    • Developed a Python UART interface streaming telemetry and device logs to CSV with real-time visualization.
    • Integrated an embedded spectrometer with DualSense trigger inputs for automated, repeatable latency tests.
  • Software Engineer Contractor

    Ocean Exploration Trust - Narragansett, RI

    September 2024 - May 2025

    C++, Unreal Engine, Python

    • Architected an Unreal Engine 5 deep-sea simulator as the sole C++ engineer, integrating LiDAR, multibeam, photogrammetry, and dive telemetry into a unified real-time geospatial system.
    • Built a modular time-sync system for ROV video, vehicle position, and pilot paths across multi-hour dives.
    • Led globe-scale Cesium integration for underwater use cases, driving extensions through Cesium collaboration.
    • Deployed an Ubuntu server hosting a containerized Perforce stack, Jenkins, and Authentik over a dedicated subnet.
    • Mentored three undergraduate interns through code review and feature development.
    • Packaged simulator demos for URI Science Saturday and Mystic Seaport Museum public outreach events.
  • Software Engineer Intern

    HF Designworks - Remote, US

    Summer 2024

    C#, C++, Unreal Engine

    • Built a C# eye-tracking module reading Tobii sensor data and streaming via WebSockets to analysis tools.
    • Developed a real-time Python gaze heatmap visualizer in OpenCV for monitoring pilot attention in simulation.
    • Bridged C#-only sensor APIs with Python tooling, enabling cross-language data flow in a multimodal pipeline.
    • Upgraded the FortiFly simulator from Unreal Engine 4 to Unreal Engine 5 for improved lighting and performance.
  • Software Engineer Intern

    OET / NOAA OECI - Narragansett, RI

    September 2023 - May 2024

    Python, C++

    • Built a Python/C++ pipeline converting 12–48 hour ROV dive video and CTL navigation data into photogrammetry-ready inputs.
    • Automated RealityCapture parameter selection to reduce per-dive tuning in underwater photogrammetry workflows.
    • Produced 3D seafloor assets from deep-sea expedition data, feeding the RUMI simulator and web visualizations.
    • Project work showcased at SIGGRAPH 2024 for bridging ocean science and real-time simulation.
  • Simulation Intern

    ThayerMahan - Groton, CT

    Summer 2023

    C++, Unreal Engine

    • Built procedural traffic and graph-based A* routing systems in Unreal C++ for an AI pilot training simulator.
    • Developed a sandbox training area in Unreal for pilots to learn controls before entering mission scenarios.
    • Generated varied vehicle behavior from city data, including color, stopping, and acceleration attributes.
  • Software Engineer Intern

    NOAA Ocean Exploration Cooperative Institute - Narragansett, RI

    September 2022 - May 2023

    Python, Keras, PHP, Javascript

    • Optimized ROVIA, a CNN-based deep-sea video highlight generator, with batching and parallel processing, reducing runtime by 80%.
    • Created a custom Keras DataLoader for inference on long ROV videos, eliminating full-dive memory loads.
    • Work cited in Banerjee & Soule (2024) for contributions to deep-sea video analysis tooling.
    • Built URI Dynamic Metrics, a WordPress plugin pulling live Google Sheets data into the OECI website, later adopted campus-wide.

Projects

Fluid Simulator

A browser-based sandbox that lets you paint color and force into an incompressible fluid in real time. Built with p5.js.

GitHub

Latency Measurement Tool

A specialized latency meter created for PlayStation's cloud gaming platform. Utilizes an embedded spectrometer and microcontroller integrated with DualSense controllers to simulate precise inputs. I expanded its capabilities by adding luminosity and color-shift detection, enabling accurate, practical latency measurement directly within real gameplay.

Latency Measurement Tool cover

RUMI – Simulator

An immersive simulator experience built in Unreal Engine 5 that aims to recreate real life dives taken place aboard expeditions on the E/V Nautilus.

Tech Post SIGGRAPH 2024 Talk

RUMI – Photogrammetry Pipeline

Photogrammetry is a method of 3D model creation using images or videos. We applied this technique to underwater footage captured by ROV Hercules to construct accurate geo-positioned digital environments of the seafloor. This process was later refined into a suite of tools to automatically process a dive's data into a digital world.

Project Page Model Viewer GitHub
RUMI – Photogrammetry Pipeline cover
Sandbox Cellular Automata cover

Sandbox Cellular Automata

Cellular Automata written in C++ using the SFML OpenGL library. Created using classes with polymorphism to allow for easy editing and creation of new elements. In the future I plan to optimize more by implementing a chunk based system like quadtrees or spatial hash grids. This would allow me to create more complicated elements or use a bigger grid.

GitHub

Vehicle Simulator

A randomized vehicle simulator project made in Unreal Engine 4. Includes traffic signals, collision avoidance, and automatic path creation. Easily expandable and modifiable through built in components and interfaces. Created during my internship with ThayerMahan.

Vehicle Simulator cover
ROVIA cover

ROVIA

A python deep neural network that analyzes underwater video footage and extracts highlight clips. I contributed to this project by optimizing both training and inference time.

Project Page Publication

Neural Network Number Guesser

Neural Network custom written in Java. Uses the Java Spring library to render the GUI. All math and logic is handled by my own code. Used the MNIST dataset for training and testing. Only has ~70% accuracy but it could be improved with more work.

GitHub
Neural Network Number Guesser cover
URI Dynamic Metrics cover

URI Dynamic Metrics

Reusable block created for use in Wordpress Websites. Automatically pulls data from google sheets to keep the website up to date. Built in collaboration with the University of Rhode Island and is now featured within their infrastructure.

GitHub

Molecular Physics Engine

JA physics engine I built to experiment with Verlet Integration that simulates physical interaction between particles. Created in Java with the Processing UI library.

GitHub
Molecular Physics Engine cover
Verlet Rope & Cloth Physics cover

Verlet Rope & Cloth Physics

An expansion I made for my Molecular Physics Engine. This update makes it possible to chain together objects with bonds into ropes and cloth. I also optimized the code by using grid collision detection. Every object is stored within a grid cell, and now will only check collisions with neighboring cells instead of every other object.

GitHub

Sorting Algorithm Visualizer

Interactive JS tool that animates and times classic sorting algorithms.

Sorting Algorithm Visualizer cover
Droideka Armature cover

Droideka Armature

Commissioned Blender rig featuring IK + Bézier-driven 360° animations.