I write elegant, human-friendly code optimized for efficiency and scalability. I believe in tackling difficult problems and developing a deep understanding of their solutions. I have expertise in end-to-end, full-stack development and years of experience designing, implementing, and deploying customer-facing web applications.

JavaScript React GraphQL Redux Node.js Ruby Ruby on Rails Sinatra PostgreSQL SCSS LESS Adobe Photoshop Adobe Illustrator

Projects

Ouroboros

JavaScript React Redux Node.js SCSS

Peer-to-peer, in-browser, multiplayer snake game. Created to explore peer-to-peer architectures and their challenges 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

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
  • Role management system for contributing catalogers and administrators
  • UI for new entries provides inline search for associated entries

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.