Matterport SDK & Plugin System
2022βPresentBuilt out features for the developer-facing SDK that enable external developers to create rich interactive experiences on top of Matterport's virtual tour platform.
Welcome. I'm an experienced software engineer with a passion for building thoughtful, high-quality systems.
I created this page to replace an older static site that was more of a portfolio. Why am I telling you this? So glad you asked!
I hail from the earliest days of the internet, back when computing power was expensive and "e-" was a popular prefix. "E-generated" text was laugable, so each "home page" felt like meeting someone for the first time.
I've tried to recapture that experience a bit here--without making it *too* boring. ( i hope :)
Good software is clear, maintainable, and purposeful. One should understand problems deeply before reaching for solutions, and work to manage complexity wherever possible. Where not possible, one must at least understand unknowns and document complexity.
Software is rarely prefect. As systems grow, the surface area for failure expands nonlinearly. Assumptions calcify, interface grows in scope, and the understanding of any given implementation fades into memory without proper documentation. Even with it, maintenance and updates can become expensive.
Managing the technical product β its architecture, its constraints, its long-term health β is not overhead; it must be a primary area of focus. Organizations that treat it otherwise often pay the difference, with interest! Part of the solution is the successful application of new technologies like AI, but more important is having the right team and the right mindset.
Don't get me wrong--AI techniques carry genuine promise. They accelerate prototyping, enable automation of common patterns, and help augment human abilities to explore domains we would otherwise not be able to tackle alone. Where the cost of error is manageable, it's especially useful.
Everything comes down to context -- in more than one way! The right question is not whether AI *can* be applied, but whether a tool's capabilities are well-matched to the problem's structure, what stakes are involved, and whether the situation demands having a more tractable piece of software. Applied with rigor and with clarity, AI is a powerful collaborator. Applied without, it's output is worse than noise--it's a mess masquerading as a solution.
Built out features for the developer-facing SDK that enable external developers to create rich interactive experiences on top of Matterport's virtual tour platform.
A sustained thread of browser-based 3D design, pipeline, and printing tools across multiple companies.
Contracted by Philips Color Kinetics to build the web-based frontend for scripting and scheduling LED light shows on the facade of the Empire State Building. Stack: Rails, CoffeeScript, ZeroMQ, Protocol Buffers, PostgreSQL.
Interactive public installation of 10,000 LEDs spanning the Charles River to connect Boston and Cambridge. Designed for live audience participation with coordinated real-time color response across the full installation. Part of the Festival of Arts and Sciences for MIT's 150th anniversary celebration.
Co-founded a company that produced open-source, audio-responsive, wireless RGB+White LED fixtures with 16-bit color resolution. Ran a successful Kickstarter and served as VP of Interaction Design, full-stack: from firmware to mobile apps.
Open-source matrix tube scanner built while automating biological workflows at Ginkgo Bioworks. Used computer vision to decode 2D barcodes on lab tube racks, bridging physical sample tracking with digital inventory systems.
MIT MEng thesis in collaboration with Microsoft Research Cambridge. Extended the Bokode retro-reflective tag into a pen tracked in six degrees of freedom using computer vision β enabling precise, contactless interaction with projected displays.
Context-aware location and guidance system for people living with Alzheimer's disease. Wearable patient locator hardware, embedded encoded lighting systems, a server backend, and a caregiver-facing pager/sms-based interface. Published in IEEE Pervasive Computing.