Hi, I'm James Yap.

contact [at: @] jamesyap [dot: .] org

I am a Polyglot software developer, a Vim Motions addict, and a Linux / FOSS aficionado. I make videos on web development technologies. My interests lie in the ethereal fields of 💻 Computer Science, ⚛ Physics, ➕ Mathematics, and 📡 Science Communication.
profile picture

Portfolio.

ReLU, explained visually-banner
ReLU, explained visually
An interactive slide deck that dives into the beautiful mathematics behind ReLU, in 3D space. Built using WebGL and Three.js.
WebGL LiDAR Point Cloud (GPU)-banner
WebGL LiDAR Point Cloud (GPU)
A modern WebGL2-based viewer for point cloud data that applies polar unwrap on 3D LiDAR point clouds into 2D cylindrical projections with support for occlusion and Z-buffer depth testing.
IETF RFC-7950 YANG to TS Compiler-banner
IETF RFC-7950 YANG to TS Compiler
CLI tool to automagically parse and compile YANG models into Typescript types with respect to Nokia SDN extended RESTCONF implementation. Lexer/parser grammar based on ANTLRv4.
Forced Perspective Illusion in Three.js-banner
Forced Perspective Illusion in Three.js
Recreation of the 'Superliminal' game's 'Forced Perspective' effect using Three.js. Used Raycaster, Quaternion Rotations, Bounding Boxes, and Linear Transformations.
Webots LiDAR Visualizer + Pathfinding Controller-banner
Webots LiDAR Visualizer + Pathfinding Controller
A Webots controller to process realtime spacial LiDAR data from a simulated GCTronic' e-puck's LiDAR module using the Webots DisplayApp class.
HeapViz-banner
HeapViz
An interactive visualization of the heap data structure built with p5.js to teach an algorithms class at Carleton University as a Teaching Assistant.
SnakeViz-banner
SnakeViz
Another interactive visualization of the Breadth-first Search (BFS) algorithm I built as a Teaching Assistant for a class of 700+ students. This time, it's the Snake Game!
TranslatePivot-banner
TranslatePivot
A simple geometric demonstration to illustrate .attach() vs .add() in three.js
Manim (3b1b) for Machine Learning-banner
Manim (3b1b) for Machine Learning
A conceptual video I made using 3b1b's open source math animation library (Manim), applied towards a Machine Learning background.

Timeline.

2026

May 2026 - August 2026
company logo

Intern Engineer

Shopify Inc. is a Canadian multinational e-commerce company headquartered in Ottawa, Ontario that operates a platform for retail point-of-sale systems.

2025

January 2025 - April 2025
company logo

Web Developer - Co-op/Intern

Nokia Corporation is a Finnish multinational telecommunications, information technology, and consumer electronics corporation, originally established as a pulp mill in 1865.

2024

September 2024 - December 2024
company logo

Software Development Engineer

Ouster, Inc. is an American lidar technology company headquartered in San Francisco, California. It builds high-resolution, digital 3D lidar sensors for use in autonomous vehicles, industrial, robotics, drones, mapping, defense, and security systems.

May 2024 - August 2024
company logo

Full Stack Developer (Co-op)

Ross Video Ltd is a privately held Canadian company that designs and manufactures equipment for live event and video production.

January 2024 - April 2024
company logo

LSI Mentorship

Borealis AI creates real-world impact through scientific pursuit. Borealis AI researches, designs, and builds AI products and technologies that transform RBC businesses and shape the future of finance.

2023

September 2023 - Present
company logo

Teaching Assistant

Assist Carleton University's COMP2402 Abstract Data Types and Algorithms course instructor in teaching a class of 700+ students.


© 2026 James Yap

Personal Website and Knowledge Base