# Projects

# Enklu Cloud

cloud

Enklu Cloud (opens new window) is a platform for collaborating on Mixed Reality experiences. At its core is the Enklu Player, a cross-platform runtime for Augmented Reality. Highly Iterative, it gives users instant feedback as they hange layout, assets, UI, or scripts on the fly. There's no need to rebuild -- Enklu Player will automatically download the newest data. Multiple users can edit an application together in realtime on separate devices, while many users simultaneously play through an experience.

Github (SDK) (opens new window)

# Amarafly

amarafly

My young daughter loves making things. Amarafly is our scratchpad for playing around with ideas. Most of the time, you'll probably find rainbow butterflies, but it is a space to explore animation, motion, and storytelling.

Github (opens new window)

# Muppet Transfer

muppets

A little while back, I used Tensorflow to apply style transfer from famous painters onto portraits of muppets. I did my best to match the personality of each painter with the correct muppet. Next up, a GAN that generates new muppets.

# Ambient Music Box

This idea behind this evolving project is to put an artifact into people's hands that generates new music every time they touch it. What began as a simple music box with a Raspberry Pi has become a serverless REST API for dynamically creating compositions. The samples here are from an early version of the music box.

Github (opens new window)

# Shaders

gameboy

Shaders are fun. I don't write them from scratch as often as I'd like, but I'm always happy when I do. Not too long ago, I created a shader that makes webcam input look like it's on a gameboy as well as a simple toon shader.

Github (opens new window)

# NVRLND

nvrlnd

Nomadic VR may not exist anymore, but we built a powerful platform for managing Location-based virtual reality content. That platform was nvrlnd.io, and it allowed us to unlock doors on the other side of the planet, monitor the health of hundreds of connected devices, and analyze the physical flow of people walking through our retail locations.

# Improvisations

The goal of Improvisations is to put out a generative musical sketch once a week. As the serverless music box API evolves, more of these will become accessible online. For now, here's an example.

Github (opens new window)

# PaulaSynth

paulasynth

Paula Synth exists in a few forms: a web app and an iOS app. It a simple tool for exploring musical ideas, and it forms the backbone of my ongoing Paula project.

Github (opens new window)

# PullString Author

author

At PullString, we built tool for creating interactive conversations. Our software, Author, was a Turing-complete programming environment that tricked writers into thinking they weren't programming at all -- they were just writing nonlinear narratives. With Author, we created a talking Barbie, several compelling apps for kids, and the best early Alexa Skills.

Github (SDK, now obsolete) (opens new window)

# Skype Video Bots

ayrton

One of the most fun project I've ever worked on was a never-released platform for developing video bots on Skype. While a software engineer at PullString, I worked with a small team at the company and a small team at Microsoft to make it possible to design immersive 3D stories within PullString Author and deploy them to Skype. The character above, Ayrton, was always happy to chat about whether or not he should destroy the Earth for fun. He, and other characters, were live (but not public) for years. They were eventually dismantled when PullString was acquired by Apple.

# Hevajra

hevajra *Image Source: Global Nepali Museum

Hevajra is a somewhat sprawling generative composition that I revisit from time to time. The idea is to create a set of tangible instruments that users and/or musicians interact with to explore the Hevajra mandala.

Github (opens new window)

# Ray Tracer

ray tracer

I've written a couple of ray tracers for fun. I find the metaphor of light bouncing around a space incredibly satisfying. The picture here is from a C++ ray tracer built while following along with Ray Tracing in one Weekend (opens new window). For the next steps, I'd like to experiment with a couple of things: 1) deploying the ray tracer serverlessly, with serveral functions rendering a portion of an image 2) add some emissive spheres.

Github (opens new window)