top of page

Portfolio

My portfolio showcases some of my recent work

Dopple.io

Dopple is a platform for incorporating 3D and AR visualization and product configuration into commerce sites.  In my capacity as both a technical leader and direct contributor, I was responsible for creating the initial prototype for the platform, defining the architecture and providing technical leadership for development, and supporting the integration of the platform with customer sites and commerce platforms.  Click the image to go to the live demo.

Screenshot 2023-06-28 210412.png

Double A

Double A is a platform for creating immersive experiences for brands to connect with their customers, collaborators, and content creators.  As a direct contributor, I was responsible for development of several key features, some of which are highlighted below

Click here to see Double A in action

Double A 

Vibes

Vibes are a feature unique to the Double A platform.  I conceived, designed, and implemented this feature which allows a user to send an emoji to another user.  The system includes particles effects for the launch, projectile trail, and impact as well as animation of the emoji travelling across the screen.  I also used a custom shader to create a cooldown UI to control how often a user can be sent a vibe.

Double A 

Embedded Content

I implemented a system to allow embedded images (including animations), videos, and websites to be included, positioned, and resized directly in scene, allowing other objects in scene to occlude parts of the content.

Double A 

Performance Improvments

I optimized the performance of BabylonJS on the platform including using instancing to reduce the number of draw calls for large numbers of avatars and freezing things that do not need to change with each render.  I experimented with several different approaches to drawing on-mesh UIs to determine the most performant at scale.

Screenshot 2023-05-04 171004.png

Double A

Behaviors

I developed a system to allow interactive behaviors to be attached to content.  These behaviors could allow a user to teleport to another room, or open content.  I also included the ability to define more complex behaviors.  An example is the dice roller which can determine the flat faces of any dice model, randomly picking one, and animating a roll to that face.  Click the image to go to the live version.

Screenshot 2023-06-28 220908.png

HtmlMesh

ScreenRecorderProject12_1.gif

HtmlMesh is an extension for BabylonJS that allows HTML content to be included in a scene, either as an overlay for the scene, or as an element within the scene allowing it to occlude other elements and be occluded by other elements.  Read more about HTML mesh here

bottom of page