Experience
Rochester, New York, United States
Collaborated with team to evolve existing codebase and build new features/fix bugs with strong emphasis on prioritizing business-critical features/bug-fixes. Introduced dependency injection to allow for
better component isolation which facilitated automated testing to improve development lifecycle
time and enable continuous CI/CD. Also implemented strong typing (JS -> TS) to improve DX
and efficiency. Integrated third-party components for text (transcript) authoring, and built high-quality clientside media recording.
Also participated in making product decisions, planning the roadmap, gathering data about
customer feedback/requirements, customer support/triage, etc.
2021 — 2021
Designed and built backend/frontend/data model for the MVP of a new product in the developer-
tools/API space. Data model based on DDD/CQRS concepts to enable git-style fork/merge collaboration on API shapes.
Implemented in Rust for correctness, performance, and ease of
sharing core logic available via WASM to CLI, frontend, backend.
2014 — 2021
Rochester, New York Area
Co-founded field data management company. Collection logic including real-time conditional
validation with javascript-based predicates, relational/nested data, and guided collection procedures all contained within a fully customizable mobile app. Data synced to cloud where managers can view realtime data, respond to events, and run reports on data in their domain, as well as allowing data owners to share and collaborate with other stakeholders with confidence that private data stays private.
NodeJS microservices written in Typescript, accessed through a unified GraphQL API gateway, all
deployed on Kubernetes cluster with full end-to-end GitOps CI/CD pipeline running in Gitlab. Mobile app was written on React Native leveraging core data engine written ontop of RxJS, RxDB, SQLite to handle data integrity, validation, syncing, presentation etc. Web UI is written in functional React using Redux, Material UI.
Designed data model iteratvely, going from specific single-use model to generalized model over
time, as generalizations became clear. Interacted with customers, elicited requirements, and
delivered on time.
Working in collaboration with Designspring Inc. and the music department at McGill University to design and develop a computer controlled analog harpsichord. The computer will record and control the position of the instrument’s keys as they are played. This is useful to study how it is played in different situations, as well as to play back recorded music at higher resolution and accuracy that would be normally possible using a standard MIDI file.
Developing interactive Web UI to control the harpsichord’s state, including starting and stopping playback, record mode, MIDI input mode, etc.
Designing and implementing a state machine and series of states and possible transitions to control the harpsichord’s different modes of operation
Designing and implementing the control systems that run the harpsichord. Including reading from low level inputs, writing to outputs, keeping time in sync, etc.
Reading a subset of the MIDI protocol so the device can act as a simple MIDI instrument
Education
2015 — 2020
Rochester Institute of Technology
Bachelor of Science - BS
2015 — 2020
Allendale Columbia School