I enjoy working with mixed technology and different types of tooling. Below contains a few projects that I can talk about publicly. For additional work see my YouTube Channel or my GitHub.
NLP 3D Avatar Over the Web
Developed a working prototype that allowed users to create avatars from natural language and visualize the results with deterministic 3D assets. Users could interact with both natural language and direct mouse controls including orbiting the character. Behind the scenes it was powered by running Daz Studio in VMs with virtual rooms users could connect into and collaborate. The rendered viewport was streamed back through to user's browser in realtime. Inference was handled with a custom model trained on top of BERT and spaCY. The system broke language into NER tokens and linked it into catalogue of assets and parameter controls like color, height, morphs, etc.
C++, JavaScript, QT, FFmpeg, WebSockets, Python, Node.js, OpenGL

Showing the understanding of the sentence structure.

Demonstrating being able to pull assets from the user's catalogue.

Demonstrating orbit controls in early prototype that simulated a 3D space and translated back to the host.
Distortion Correction and Relaxer
Wrote a geometry and UV relaxer in C++ that was successfully incorporated into the real-time avatar system at Daz/Tafi. This was used to correct for distortion from the projection system used to refit follower assets like clothing when morphed on an avatar. The images below are slowed down to show the iteration steps for visualization purposes.
C++, C#

Smooths curvature of the morph while preserving volume along with correcting UVs.

Example of a gas mask when morphed from a human to alien face.

Heavy distortion when refitting to a very different character being corrected.
Tetrahedronal Improvements to Projection
Improved the results of mesh distortion when projecting by using tetrahedronal mapping instead of the previous methods. Greatly improves results with rotations and twist movements.
C++, C#

Demonstrating the improvements to rotation quality.

Toggling the tetrahedronal mapping system on-off to visualize twist movements.

Reconstruction of the tetrahedronal mapping to visualize how it works.
Real-time Avatar System
Created a high performance, real-time, engine agnostic avatar system called Astra. Supported real-time projection of follower assets that dynamically reformed clothing, hair, and accessories to unseen shapes allowing characters to morph and adapt. The system was split into two parts, an engine agnostic dynamic library in C++, and a per-engine, Unity and Unreal, plugin. Assets would stream down from a network on demand and be loaded procedurally into the engine at run-time. Aggressively optimized for performance in categories such as latency, cpu and battery usage, rendering, memory, disk usage, and others. Supported all major gpu compression and optimal disk and stream compressions. Full makeup, cloth layering system, fitment, decimation, and smart asset replacement. Was used to power the Tafi VRChat Avatar Creator. The library was cross-compiled and ran on ARM and x86 on Windows, macOS, Linux, iOS, tvOS, and Android.
C++, C#, OpenGL, Unity, Unreal, Shaders, Go, Google Cloud, e-commerce, Linux, macOS, Windows, iOS, Android, tvOS

Examples of character combinations you could make.

Smart clothing content.

Poke-through system.

Real-time cloth and material morphing.

Included a full avatar creator kit that worked on mobile.

Powered the Tafi VRChat Avatar System.
Custom Ray Tracer
Developed a headless custom ray tracer using C++. This was then used to calculate occlusion masks for hiding surfaces under other surfaces and detecting collisions of geometry.
C++, OpenGL, eigenvector, GPGPU, SIMD, intrinsics

Without normal map.

Producing a depth map.

Visualizing normals.
Raw Pixel Streaming From Desktop to Web
Created a C++ plugin that captured the existing OpenGL viewport buffer inside a 3D software application, Daz Studio, and sent it to a server where it was transformed into a low latency feed with MPEG-TS. The feed was then shown in a remote browser. This was successfully used to build a prototype that ran Daz Studio on an array of machines and let the user control it remotely from a browser.
C++, Python, JavaScript, OpenGL, Qt, WebSockets, FFmpeg

Captured OpenGL viewport is streamed across the network to a browser.
Real-time Eye Shader
Custom and controllable shader for rendering realistic eyes with modifiable parameters.
C#, HLSL, GLSL, Unity

Pupil dilation controls.

Turntable showing anatomically accurate geometry and accurate refraction through the cornea and iris.

Iris shape controlled with a cookie.
QKtract
Developed and released a contract signing and invoicing software as an online service product. The system supports both subscriptions and payment tokens allowing customers to pay as they go. Users can add online booking and contract signing with templates and dynamic elements directly via public links or embedding into their own websites. Supports multiple payment systems including Authorize.net, Strip, and Paypal. Supports internationalization, localization, and multiple currency types. Successfully processed over 8 figures in revenue for customers.
MySQL, PHP, HTML, CSS, JavaScript, SCSS, AWS, PDF

Templates allow customers to dynamically add and remove elements to the contract forms.

The form page for the questionnaire and package selector that appears before the contract.

Invoices allow copy and paste or manual line item creation, payments collection is supported.
Photography Website
Handwritten highly dynamic database backed website that handles over 1000 active pages for a high traffic photography portal. Aggressively optimized for SEO and consistently ranks in the top 3 in their space for over 15 years. The tooling allows the photographer to self manage all aspects of the website including adding new domains. Created the site template and designs along with all custom code. Templates could nest other templates and exposed as easy to use GUI interface to the user.
MySQL, PHP, HTML, CSS, JavaScript, SCSS, Bootstrap, Webpack, AWS

Handwritten dynamic and best fit block arranging system.

Allows multiple domains and templating to be handled by the owner.

Page template system allowing the photographer to create new pages and get access to custom templated elements.