Teaching tools · Industry · Research

Selected projects

Teaching tools I’m developing, industry projects I contributed to, and prototypes from my graduate research.

Tools for teaching

JavaScript · Ongoing

CoursebookMD

CoursebookMD Preview mode showing the Rich Content chapter with rendered equations and a D2 flow diagram beside its Markdown source.
CoursebookMD keeps rendered chapters, equations, diagrams, and Markdown source side by side.

CoursebookMD lets me teach from the same Markdown chapters that become a searchable coursebook students can revisit. Its focused lecture view keeps the material readable in class, while code, math, and diagrams stay together in the source.

Built for my COMP 1510 Programming Methods course.

Explore on GitHub

JavaScript · Ongoing

SlideMD

SlideMD presenter view showing the What is SlideMD? technical slide alongside elapsed time, the next slide, and speaker notes.
SlideMD’s presenter view keeps the current slide, next slide, timer, and speaker notes together.

SlideMD supports technical teaching with code, math, and diagrams alongside the explanation. It can import existing PPTX decks, while a separate presenter window supports teaching in class; offline builds and PDF export make the material usable outside the presentation too.

Built for my COMP 7855 Software Systems course.

Explore on GitHub

Past industry projects

The Logistics and Accessibility Advantages interface, with transport-network controls beside an interactive map.

Interactive data visualization · Localintel

Logistics and Accessibility Advantages

An interactive map that lets people explore a community’s transport links, broadband access, and reach by road. Communities can embed it in their own websites.

My work: I worked with UX to turn Tableau prototypes into an Angular application that communities could configure and embed, leading front-end development across the Location Advantages tools.

View the product

Microsoft Teams payment interface showing attendees' payment status during a meeting.

Microsoft Teams · Payments

Payments in Microsoft Teams

A built-in payments app that lets small businesses request and collect payment during appointments, webinars, and meetings through Stripe and PayPal.

My work: I helped connect Teams with payment providers, contributing to the design and implementation, reviewing code, and supporting the services in production.

Read the launch coverage
Localintel Quality of Life Profile showing cost-of-living comparisons by household type and category.

Interactive data visualization · Localintel

Quality of Life Profile

An embeddable collection of interactive dashboards that helps communities show what everyday life is like for people considering a move.

My work: I developed reusable interface components so each community could configure the dashboards around its own data and local context.

View the product

Past research

A person wearing a wrist-mounted haptic device stretches an arm toward a screen showing their remote exercise partner.

CHI 2014

Haptics for Remote Exercise

A wrist-worn haptic prototype that explored how remote exercise partners could communicate presence, encouragement, and movement guidance through touch.

Overhead view of an air hockey table with a computer-vision overlay tracking the puck.

ICRoM 2013

Air-Hockey Robot

A learning system that adapted to a table’s particular friction and bounce from a small number of shots, then used that model to plan accurate plays.