- Served as tech lead for visualization tools. Contributed to all areas of development, including product roadmap, internal and public API design, unit and integration testing, documentation, code health, build systems, visual design, and customer support.
- Co-authored the MCAP file format. Contributions include: specification lawyering; ground-up implementations of readers and writers in TypeScript and Swift; adding new features to and maintaining parity across the C++, Python, and Go implementations; cross-language conformance testing; and a live interactive demo for the MCAP website. Just a year after its inception, MCAP was adopted as the default logging format in ROS 2 Iron.
- Created the Foxglove WebSocket Protocol for live streaming of robotics pub/sub data, including a specification and reference implementations in TypeScript, Python, and C++. Also created an iOS app to use an iPhone as a demo “robot” and stream sensor data to Foxglove.
- Led the merger of two mature frontend applications (visualization and data management, each ~100kloc) into a single unified app. Guided the team toward incremental refactoring, allowing for concurrent development of new features during the merger, and ensuring a smooth rollout plan despite staffing changes and competing priorities.
- Led the rewrite of the 2D Image panel on top of the 3D scene rendering engine, enabling 3D entities to be projected onto a 2D image. This paved the way for new features, such as compressed video, to support both 2D and 3D workflows.
- Created a macOS Spotlight Importer for MCAP files, and published a detailed blog post describing how the ancient macOS plug-in APIs can be used with pure Swift. Also created quicklookjs, enabling us to reuse TypeScript code to provide Quick Look previews of MCAP and ROS Bag files.
- Implemented ROS 2 support and fixed bugs in
rosbridge
, a community-owned project which Foxglove co-maintained. See pull requests.
Employment
- Created an autonomous vehicle (AV) software version management tool and workflow where none had previously existed, laying groundwork for a remote deployment system.
- Designed a file format for on-vehicle data logging, along with end-to-end implementation, and became an expert in maintaining and extending third-party libraries used to interact with data throughout the AV software stack.
- Played engineering, people management, product, and design roles in growing Webviz from a scrappy hackathon project into one of Cruise’s most loved and respected internal product teams.
- Created a flexible Chrome extension that’s now installed for all employees, providing universal workflow improvements and a testbed for internal user research.
- Worked on Upthere Home for Mac, developing and improving core features such as file and media upload, media caching and playback, authentication flows, a custom CALayer-based collection view, and visual design/animation.
- Drove the initial adoption of Swift by the Apple platforms team, and led some lunchtime discussions about Swift. Made contributions to the Swift compiler motivated by real-world issues with Swift development tooling.
- Created the Objective-C++ bridging layer for a cross-platform C++ framework, and contributed to other Swift & Objective-C frameworks shared between the iOS and Mac apps.
- Also contributed to the billing functionality and email notifications in the backend, and the Upthere website.
Independently designed and implemented an end-to-end workflow for the management and transcription of paper forms, integrating the scanning process with an internal web interface. Released a component of this system (ScanStream) as open-source software, and wrote a post on the Counsyl blog detailing the motivation and implementation.
Developed prototypes of new Windows Phone features based on the built-in music recognition functionality, such as synchronizing the display of real-time lyrics. Worked closely with product management and QA teams to define desired behavior and test cases; wrote and maintained design documents.
Implemented features in the Mac App Store client application for Mac OS X Lion, and created internal development and debugging apps for the Mac App Store and broader System Applications teams. Continued part-time work after my summer internship through the Fall 2011 semester.
Helped develop and release Video Physics for iOS, an educational app for video capture and graphical analysis. Projects included: custom multi-touch gestures for placing points on video frames; video import, capture, compositing, and export workflows; social networking integration.
Open source contributions
Completely rewrote and modernized the Swift language grammar, originally a part of the TextMate project, which is now used by Visual Studio Code for syntax highlighting. The grammar was also used for syntax highlighting on GitHub until 2024.
Ranked in the top 0.2% of users, with 100k+ total reputation for over 1,000 answers. Gold badges (200+ answers totaling 1,000+ upvotes) in swift, objective-c, ios, and iphone tags. Recognized by the Mobile Development Collective.
Added a new lint rule and added code fix suggestions to an existing rule. See contributions.
Improved error handling when plugins produce invalid code fixes. See contributions.
Improved a compiler error message and added an automated code fix action. See contributions.
Improved diagnostics for invalid member function calls in Clang. Fixed limitations and added new features to clang-format. Improved identifier name replacements suggested by clang-tidy. See contributions.
Began contributing just 1 day after Swift became open source. Fixed numerous compiler crashes and language bugs, and improved diagnostic messages and automatic fixes (see contributions). Author of four accepted language/library evolution proposals: SE-0017, SE-0121, SE-0133, SE-0194.
Began contributing just 2 days after TextMate became open source. Added a Quick Look preview generator, improved several core editor actions, upgraded to libc++ and 64-bit, and enhanced theming support. See contributions.
Independent apps
Created an open-source iOS app with a home screen widget to display the NASA Astronomy Picture of the Day. Built as an opportunity to learn SwiftUI and Combine.
Created a jigsaw puzzle game for iPhone and iPad, in collaboration with Russian artist Vlad Gerasimov. In its three years on the App Store, the app saw over 400,000 free downloads for iPhone with almost 19,000 paid upgrades, and over 1,000 paid downloads for iPad.
Using the original iPhone SDK, created the very first iPhone app to display realtime Portland bus arrival times and schedules from the TriMet web API. The app was downloaded over 1,000 times.
Created a Mac app to display Vladstudio artwork as dynamic desktop wallpaper, showing the date and time, moon phase, and zodiac sign. Features included custom data file parsing, system preference pane, login item management, automatic updates, and localization.
Education
Graduated with High Distinction, and departmental honors in Computer Science and Mathematics.
Represented the student body to the college’s Computing Committee and Web Advisory Group. Helped direct a club of students working on service-oriented software development. Served one year as dorm president and member of student council.
Writing & speaking
flatten()
to joined()
”, Swift Evolution proposal
Optional
Comparison Operators”, Swift Evolution proposal
Unmanaged
to use UnsafePointer
”, Swift Evolution proposal