Download PDF


Instructure ~ Educational Technology Company

React UI Engineer : Canvas, Final Grade Override

We added a way for teachers to manually adjust calculated grades for students on the cusp of a better grade than they had earned via math alone. I generalized the front end logic and interface components created for New Gradebook to work with grade overrides, rather than reinventing the wheel.

React UI & Rails Engineer : Canvas, Anonymous Moderated Marking

The team was given large feature request with a short deadline. Retooled data associations to be anonymous while preserving functionality. Rewrote front end moderation workflow. Proactively engaged Product and Design to further elaborate product workflows ahead of implementation.

JavaScript & Rails Engineer : Canvas, Build Tools

My experiences across past client work and side projects provided tools and methods for debugging, understanding, and improving tools used to build Canvas. Testing tools and practices were continually updated and adjusted to benefit the team and the organization. I diagnosed and resolved critical build issues and averted engineering downtime.

JavaScript & Rails Engineer : Canvas, New Gradebook

Each member of the team led milestones for subsets of new features. I was responsible for enhancing teachers' experiences with entering grades in the Gradebook. I established expertise on legacy tools and their maintenance. We worked together to improve practices for implementation-agnostic UI testing and code reviews. I also contributed thousands of additional specs to front and back end spec suites.

In working with Product and Design, I used tools like Sketch and Codepen in combination to ensure that their visions were being met before implementation was complete. It helped to identify edge and corner cases not realized in the design documents and informed subsequent decision-making.

Collaborating with Community Advocates developed a better understanding of the needs and workflows of real users, spurring ideas and helping to make better decisions. Among the highlights of engaging with the community was delivering one of their oldest and most-requested features.

We adapted modern, React-based UI to work with extremely legacy UI firmly coupled to outdated tools (i.e. adapted square peg to round hole). Some of the legacy tools and libraries we either augmented or refactored out include CoffeeScript, SlickGrid, Backbone, Ember, and plenty of jQuery spaghetti. Making these and other tools all work together was both interesting and challenging.

Full-Stack Web Engineer : Canvas, Multiple Grading Periods

We extended business logic to accommodate needs of institutions using multiple levels of bucketing for grading. Grade calculations were retooled to work with new partitioning and weighting rules. Front and back end validations were implemented to ensure historical grades were no longer recalculated, both for performance and to prevent user shenanigans.

React UI Engineer : Instructure UI, Open Source React UI Library

Through use, feedback, discussions, and direct contributions, I helped the InstUI team develop the library from pre-1.0 to its current version. I was invited to Brain Trust for influencing the vision and ongoing development of InstUI.

8th Light ~ Software Development Consultancy

Lead Engineer : BluStor GateKeeper, Biometrics-Secured Android SDK & Apps

Created an Android-based SDK and app for bluetooth communication with a biometrics-secured smartcard. Developed the protocol for serial communication via bluetooth. Integrated with a third-party biometrics SDK. Collaborated with smartcard hardware team to develop and document the communication API.

Extracted SDK, sample app, and production app from original proof-of-concept. Documented SDK for third-party developers. Emphasized ease of development for current and future team members.

Lead Node.js & JavaScript Engineer : Immersive Home Refresh Product Experience

Led development on a dynamic touch interface for a home improvement products catalog which responded to user interaction by projecting product imagery onto the surfaces of a blank room. The product browser was a JavaScript web application hosted on a local Node.js server. A client-managed application synced product inventory data daily. The local server provided an API for an iOS companion app.

Collaborated closely with the UX Designers. Emphasis was given to making the Interface Designers’ work as frictionless as possible. Succeeded with the challenge of using zero JavaScript dependencies in the product browser.

Full-Stack Clojure & ClojureScript Developer : VuShaper, Dynamic Video Streaming Platform

Developed dynamic video streaming platform with configurable viewer prompts. Created a rules engine for video stream augmentation based on real-time input and historical viewer data. Maintained and extended a Clojure web application with mixed ClojureScript & JavaScript front-end. Integrated with video asset compression API. Iteratively redesigned architecture in response to evolving business requirements.

Full-Stack Web & Mobile Developer : AXUS, Traveler Itinerary Curation Tool

Maintained and further developed Clojure-based web application and API. Integrated with travel industry booking databases. Refactored legacy Clojure application with extensible architecture. Converted legacy ClojureScript library to JavaScript. Integrated Android app with API while maintaining feature parity with iOS app. Emphasized ease of maintenance and extension for current and future team members.

Lead Android Developer : College Athletics Recruiting Platform

Developed Android counterpart to existing iOS app. Integrated with internal API for authentication and user data. Implemented continuous integration with local Jenkins server. Collaborated with UI Designer for app interactions and assets.

Full-Stack Rails & JavaScript Engineer : Groupon

Developed Rails and Marionette.js single-page application to replace existing sales pipeline tool. Planned and delivered around iterations. Collaborated with a designer, junior developers, and contracted developers. Integrated with internal services.

Full-Stack Node.js & JavaScript Engineer : Groupon

Refactored legacy Node application in production. Harnessed untested code with test suite to enable safe, stable changes. Collaborated with overseas teams for homegrown internationalization. Integrated with internal services and SalesForce.

Rails Engineer : Groupon

Collaborated with developer team to scale an inventory system through service extraction. Contributed to performance enhancements at the application and database layers to support hundreds of thousands of requests per minute.

JavaScript Interface Engineer : Automotive Dashboard Prototype

Implemented automotive console UI using Qt. Integrated with CAN bus using both C and Qt-JavaScript bindings. Deployed on-site with client team's prototype hardware installed in the vehicle.

Rails Developer : College Athletics Recruiting Platform

Extracted business behavior from legacy Java application into Ruby application. Extended automated email service for event-based behavior. Integrated email rendering with homegrown A/B testing service and Mandrill.

Ruby Developer : Groupon

Implemented rules-based account automation for the sales team. Iteratively refined and extended rules to match an existing, manual process. Regularly demonstrated development progress and discussed agenda in iteration planning meetings.

Android Developer : White-Label Video on Demand Platform

Contributed to a widely-distributed Android SDK and associated apps with an emphasis on extensibility. Collaborated with development team while also teaching best practices and design patterns.



  • Glassdoor ~ Company Reviews and Conversations
    • Lead Software Engineer, November 2022–Present
    • Senior Front End Engineer, July 2020–November 2022
  • Instructure ~ Education Technology Company
    • Senior Software Engineer, August 2018–June 2020
    • Software Engineer, March 2016–August 2018
  • 8th Light ~ Software Development Consultancy
    • Software Crafter, December 2012–February 2016
    • Software Apprentice, June 2012–December 2012


  • JavaScript
  • Node.js
  • Ruby
  • Clojure
  • Java
  • Python
  • C
  • Go

Libraries, Frameworks, and SDKs

  • React
  • Webpack
  • InstUI
  • Redux
  • Rails
  • Sinatra
  • Android


  • Goodreads
  • Canvas LMS
  • Amazon (Product Advertising, S3)


  • Clean Code
  • Agile