§ 02 / Projects

Things I've shipped recently.

A mix of research, freelance contracts, and personal projects. Most are live - click through.

01 · 2026

VISAGG - Agentic 3D Rendering

Active research project with the VISAGG Lab at the University of Calgary. The work is still ongoing, so I'm keeping the technical details off the public site for now. The renders below give a sense of the visual output.

  • Undergraduate research at the VISAGG Lab
  • Producing 3D volumetric renders as part of the study
  • Full write-up coming after the research is published
PythonMCPParaViewReactTypeScriptWebSockets
View case study

02 · 2026

Mainframe Mechanical

Freelance contract. Built from scratch as the company's online presence and primary lead-generation channel. Scroll animations, a contact-form API, and a content model the owner can extend without my involvement.

  • Built and shipped from scratch - design, code, deploy
  • Scroll-orchestrated animations with Framer Motion
  • Contact-form API for direct customer lead capture
Next.js 16TypeScriptTailwind CSSFramer Motion
View case study

3D Name in the Milky Way

An interactive 3D scene built with Three.js. My name is extruded as 3D geometry and placed inside a procedurally generated Milky Way galaxy with thousands of star particles. The camera orbits the scene to show off the depth and lighting.

  • Extruded 3D text geometry with custom materials
  • Procedurally generated galaxy with thousands of star particles
  • Orbiting camera and lighting setup built from scratch
Three.jsJavaScriptWebGL
View case study

Haunted House in the Browser

A Three.js scene of a haunted house with a graveyard, fog, moving ghost lights, and dynamic shadows. Everything renders in the browser - no plugins, no downloads. I wanted to make something simple and yet cool.

  • Real-time fog and dynamic point-light shadows
  • Procedurally placed graveyard with randomized graves
  • Runs fully in the browser - no install required
Three.jsJavaScriptWebGL
View case study

Conflux

A peer-to-peer skill-sharing platform where users teach and learn from each other through live sessions. Built MVC backend with Express, JWT auth with RBAC, and real-time chat plus 1:1 video calling over Sockets and WebRTC.

  • JWT auth with role-based access control
  • Real-time chat and 1:1 video over WebRTC
  • MVC Express backend with shadcn/ui frontend
ReactExpress.jsshadcn/uiWebRTCSocketsJWT
View case study

Nomadr

A full-stack travel discovery app following the MVC pattern. Passport.js for secure auth and sessions, Mapbox for geolocation visualization, and Cloudinary with Multer for multi-image uploads to the cloud.

  • Passport.js auth with secure session handling
  • Mapbox API for geolocation visualization
  • Cloudinary + Multer for cloud image uploads
MongoDBExpress.jsNode.jsPassport.jsMapboxCloudinary
View case study

07 · 2026

Personal Portfolio

My personal portfolio site - where I showcase my work and case studies.

  • File-based routing with per-route SSR head metadata
  • Dark mode with no flash of unstyled content
  • Single content module powers list + dynamic case studies
TanStack StartReact 19TypeScriptTailwind CSS v4shadcn/ui
View case study

08 · 2025

Graph Pathfinding Visualizer

A desktop pathfinding visualizer built in C++ with SFML. Generates random weighted graphs, then animates Dijkstra's, A*, and BFS step-by-step - showing visited nodes, the final path, and the minimum spanning tree. Press R to regenerate a new graph instantly.

  • Step-by-step animation of Dijkstra's, A*, and BFS
  • Randomly generated weighted graphs with instant regenerate
  • Visualizes visited nodes, final path, and minimum spanning tree
C++SFMLDijkstraA*BFSMST
View case study

09 · 2025

Project Leviathan

Built at the University of Calgary. A Pacific Rim-inspired desktop tracking app written in Java with JavaFX. Tracks entities like Jaegers, Kaijus, and battle locations through an interactive GUI with modular architecture and a focus on usability. Originally designed as a centralised database for franchise entities.

  • Interactive desktop GUI with modular MVC architecture
  • Tracks Jaegers, Kaijus, locations, and battle records
  • Filterable battle log with multi-field constraints
JavaJavaFXMVCDesktop GUI
View case study