I believe software developers work best when empowered with great tools. When the right tool for the job doesn’t already exist, I aim to make one. A lifetime spent tinkering with computers, and eleven years working professionally in full-stack web development, realtime graphics, and distributed systems, have given me the opportunity to deliver business value with both developer tools and end-user software.
- Languages: Rust, C++, TypeScript, Elixir, Clojure
- Libraries: V8, CEF, Phoenix Framework, OpenGL, React
- Systems: GNU/Linux, macOS, Ansible, Git, GitLab CI
Software Engineer, Second Spectrum (2019–)
Second Spectrum teaches computers how to watch sports. I developed a Rust FFI wrapper around C++ computer vision algorithms for use in both Second Spectrum’s next-generation low-latency tracking system and in a realtime TV broadcast augmentation engine, featured on live broadcasts by CBS and ESPN. I learned Elixir to work on a legacy Phoenix web application used to produce live player and ball tracking feeds for customers like the NBA, English Premier League, and Major League Soccer. I’ve also enjoyed the opportunity to help data scientists and software engineers learn Rust.
Software Engineer, Oblong Industries (2015–2019)
On the Client Solutions team, I developed room-scale interactive applications with data visualizations for the display wall and immersion room systems at IBM’s Watson Executive Briefing Centers, using C++, OpenGL, and g-speak, Oblong’s platform for spatial computing. I maintained libWebThing, a library which rendered web content in our applications using Chromium Embedded Framework.
I created Node.JS bindings for libPlasma, g-speak’s realtime message passing framework, supporting both internal and customer usage. I developed Node.JS web applications for our customer which used those libPlasma bindings to configure, control, and debug our installed g-speak applications.
I also drove the team’s adoption of Rust for developer tools and offline data processing pipelines, many of which used Rust bindings to libPlasma which I wrote for fun in my spare time.
Sizzle reel @ Vimeo
Software Engineer, FanMob (2013–2015)
I was the sole engineer in a sports-oriented polling and advertising company of two people. I developed the user-facing web application and customer-facing embedding API, used by high-traffic sites like Bleacher Report.
Web Developer, TuneWiki (2011–2013)
I led the rewrite of TuneWiki’s song lyrics website from Wordpress to Laravel framework. I was also the primary developer of TuneWiki’s #1-ranked Spotify App, which rendered a song’s lyrics in sync with playback.
In an effort by several Oblong engineers past and present to open-source libPlasma, I assisted by cleaning up some documentation.
Rust programming language (contributions from 2014–2020)
Over the years, I’ve contributed many improvements and bug fixes to the Rust programming language project; largely on rustdoc, Rust’s API documentation generator.
The two most significant features I implemented in rustdoc were support for
associated types and trait
Weasel REPL (repo)
B.S. Chemistry, University of California, Irvine (2010)