Interactive Projects

Ongoing Research

Bio Plausible Vision Models

Active research and development projects exploring ML and Graphics.

  • Exploring the verification of spectral based human visual-cortex models for automating HCI color vision data collection tasks.

Research Projects

Neumours: Implicit Neural Tumour Representations for Differentiable Medical Rendering

Lightweight INR segmentation model achieving nnUNet-level Dice scores with 1000x fewer parameters.

  • Developed a lightweight Implicit Neural Representation (INR) model that achieves comparable segmentation performance to SOTA nnUNet with dramatically fewer parameters.
  • INR approach enables continuous spatial representation without fixed grid discretization, allowing arbitrary resolution inference and smoother boundary predictions.
  • Implemented a GPU-accelerated real-time 3D volume renderer using Slang for interactive visualization of MRI data and INR predictions.
  • Built complete training pipeline with configurable hyperparameters, k-fold cross-validation, and Weights & Biases integration.
  • Achieved competitive Dice scores on BraTS-2023 4-class segmentation (background, non-enhancing core, edema, enhancing tumor).
  • Created interactive Jupyter notebooks for training, evaluation, and real-time slice-by-slice visualization with per-class metrics.

Read the Paper

High-Performance Portable LiDAR Rendering System

WebGPU compute splatter for massive LiDAR datasets.

  • Compute-based LiDAR point cloud renderer achieving real-time visualization of 100M+ points with interactive frame rates.
  • Custom WASM-based streaming solution for LAZ/LAS/PLY file formats with progressive loading.
  • Implemented optimized compute shaders for massive point cloud splatting and level-of-detail management.
  • Cross-platform deployment via WebGPU enabling browser-based visualization of enterprise-scale LiDAR data.

These Colours Do (Not) Exist

Undergraduate thesis exploring colorimetry and developing a real-time 3D colour space visualization tool.

  • Developed a real-time 3D colour space visualization tool using WebGPU and TypeScript, designed for extensibility.
  • Renders all ~16 million sRGB colours between 6-16ms frametime on consumer hardware, enabling free-form exploration of colour spaces.
  • Utilizes compute shaders for colour generation and instanced particles for rendering, outperforming traditional WebGL-based solutions for this task.

Read the Paper

Comparing The Performance of 3D Classification Models

Research and implementation of 3D classification models on voxelized data.

  • Co-researched, implemented, and tested various 3D classification models on voxelized 3D objects.
  • Developed partially-novel CNN architecture for binary voxel classification, achieving competitive accuracy on ShapeNet while maintaining mobile-friendly model size.
  • Evaluated and optimized models using standardized benchmarks: ShapeNet, ModelNet40, and Toys4K.
  • Final project for CIS*4780 Computational Intelligence.

View the Report

Personal Projects

SDL3 Haskell Bindings

Type-safe Haskell bindings for the SDL3 Native Application Library.

  • Enables functional programming access to SDL3's complete API with zero-cost abstractions.
  • Performant type-safe wrappers over SDL3's C interface maintaining low-level control.
  • 30+ cross-platform examples including GPU rendering demos.
  • Supports DirectX12, Vulkan, and Metal for cross-platform application development.

SDL3 WebGPU Experiments

Feasibility study of a WebGPU backend for SDL3.

Testing Examples (WebGPU Required): view here

Tint-WASM

A lightweight WebAssembly runtime for Google's Tint (WGSL) compiler with SPIRV-Tools integration.

  • Reverse-engineered a minimal WebAssembly (WASM) runtime for Google's Tint compiler.
  • Integrates the entirety of SPIRV-Tools, enabling cross-compilation to/from SPIR-V, SPIR-V Assembly, and WGSL.
  • Supports usage as a standalone static library or as a WASM module with a C++ API for in-browser shader compilation.

GitHub Repository

Nano: C WebGPU Runtime

A C library for rapid development of WebGPU applications.

  • Developed a C library to simplify WebGPU application development, built on the WebGPU C API.
  • Provides an API for creating and managing WebGPU resources, including device handling, CImGui integration, and generation of buffers, textures, and pipelines from shader code.
  • Designed for ease of use and compatibility with the WebGPU specification.

Triangle Demo (WebGPU Required)
Oscillation Demo (WebGPU Required)

Sprite Fight

A 2.5D arena fighting game made in Unity with custom shaders.

  • Developed a 2.5D arena fighting game using Unity over a 2-week period.
  • Implemented custom shaders for post-processing effects.
  • Final project for CIS*4820 Game Programming.