About

I write code that is human-friendly, testable, and robust. I tackle problems by developing a deep understanding of them and designing efficient, stable, and forward-looking solutions. I am an insatiable learner and thrive in collaboration. I have expertise in end-to-end, full-stack engineering and years of experience designing, building, and deploying web applications.

Projects

C2M2: Collections of Cinema and Media Music

JavaScript React GraphQL LESS Ruby Rails PostgreSQL

Database of archival collections of film and media music. Co-created with librarian, archivist, and musicologist, Michael W. Harris, Ph.D.

  • Currently in development
  • Rails back-end serves a GraphQL endpoint; React front-end uses Apollo client
  • 'Load more' functionality in lieu of pagination for browsing
  • Simple and advanced search functions
  • Account management for contributing catalogers and administrators
  • User interface for new entries provides inline search for related entries

Ouroboros

JavaScript React Redux Node.js SCSS

Peer-to-peer, in-browser, multiplayer snake game. Created to explore peer-to-peer architectures and the challenges they present for a fast, reflex-based game.

  • Co-creator and end-to-end developer
  • Implemented conflict-free replicated data types (CRDTs)
  • Optimized for real-time multiplayer gaming
  • Used a predictive model for real-time effect in the presence of latency
  • Researched and implemented the most efficient peer-to-peer network topology for our use case

nCoda

JavaScript React Redux LESS MEI: Music Encoding Initiative Verovio

Open-source software for encoding and engraving music documents.

  • Core contributor to open-source project
  • Implemented PDF viewer, background saving, and save status indicator
  • Refactored toolbars as reusable components; improved usability and uniformity of UI

mei-tools-atom

JavaScript LESS MEI: Music Encoding Initiative Verovio

Package (add-on) for the Atom text editor. Uses the Verovio music engraving library to provide on-the-fly music notation rendering for MEI, an open-source XML system for the semantic encoding of music documents.

  • Deployed to the official Atom package registry
  • Supports the use of Atom as a no-cost XML editor in the MEI community
  • Lowers barriers to entry (cost, technical savvy) for new music encoders

Musicology

I hold a Ph.D. in Music from the University of Colorado at Boulder. My research, publications, and conference presentations concern European music of the 15th and 16th centuries. I am an experienced teacher of music at the undergraduate and graduate levels.

At the intersection of software development and music research, I am involved in semantic music encoding and digital edition-making, as well as the development of tools for these purposes and technologies for music education broadly.