« Home

Projects

View my professional and side projects.

Professional Projects

Site
10,000ft
Role
Full-stack software engineer
Technologies
Ruby on Rails 5, RSpec, MySQL, React, Redux, Webpack, ES6
Summary

I have been a full-stack software engineer at 10,000ft since July of 2016. In that time, I've created the technical design for and implemented several features.

Notable achievements include:

  • 2018: I improved the performance of our Rails/RSpec API test suite by 19% in an 80K LOC codebase
  • 2017: I re-engineered the analytics page of the application taking the 95th percentile time-to-interact (TTI) from nearly 30 seconds to 250ms
  • 2016: I led the feature team for a full rewrite of the reporting module of the product in React and Redux, resulting in up to a 400% improvement for the initial page rendering
Site
African Elephant Database (via Flint)
Role
Front-end software engineer
Technologies
React.js, React Router, ES2015, Webpack, GeoJSON, Leaflet
Summary

Vulcan, Paul Allen’s brainchild, partnered with the African Elephant Specialist Group to build a database of all elephants on the continent. The database would be updated yearly to enable researchers to track the animals, their numbers, and their migration patterns, among other data.

They tasked Seattle design agency Flint with building an interactive web application on top of their Ruby on Rails and PostgreSQL-based database to enable researchers and elephant lovers alike to understand more about these majestic and enigmatic creatures.

I was the initial engineer on the project and built a vast majority of the core functionality, including map integration and interactivity, core UI interactions, routing, state management, and more.

Site
WikiMedia Education Foundation (via WINTR)
Role
Full-stack developer
Technologies
Ruby on Rails, MySQL, React.js, Mocha.js, CoffeeScript, ES2015, Stylus, Haml, Gulp
Summary

The WikiMedia Education Foundation approached WINTR with a very interesting project. The central problem was clear: How can we grow the Wikipedia editing community, more accessible to college students, and aid college professors to create syllabi to assign the editing or creation of Wikipedia articles for course credit.

I built several core features of the site over the course of about eight months. I was responsible for all aspects of feature delivery with the exception of visual desgin: the database design, Rails API architecture and implementation, and front end development in React.js. I utilized test-driven development throughout with RSpec, Capybara, and Mocha.js.

Site
CenturyLink Cloud (via WINTR)
Role
Full-stack developer
Technologies
Node.js, CoffeeScript, Travis CI
Summary

In CenturyLink Cloud’s bid to aggregate several cloud hosting capabilities under one roof, one aspect crucial to their ability to provide excellent service among all of their offerings was their knowledge base.

I built a custom test suite to run against CenturyLink Cloud’s knowledge base documentation. It parsed the Markdown documents and ensured proper formatting, correct metadata, and valid links and images. I also built it in a modular fashion: parsers were pluggable modules that were orchestrated by the parsing functionality to keep the suite extensible and maintainable.

Site
FritoLay2Go (via WINTR)
Role
Full-stack developer
Technologies
PHP, Laravel, MySQL, Custom Linux & Apache configuration, Stylus, ES2015, PHPUnit, Capistrano, Gulp, Webpack
Summary

FritoLay needed a compelling marketing site that could allow consumers to redeem UPC codes from their packages in return for a coupon code redeemable on the Fandango.com site for kids’ movie passes.

From an existing design, I implemented the entire site from start to finish. This included database modeling for tables with up to 10MM rows, MySQL, the Laravel web framework, PHP, ES2015, and Stylus.

The site also needed to be deployed on a dedicated hosting an environment, so I also performed all the server configuration and web server setup from scratch, and configured the application for automated deployments to both the production and staging environments.

Site
Navigating Cancer
Role
Software Engineer
Technologies
Ruby on Rails, Backbone.js, Jasmine, Haml, Sass, RSpec, Cucumber, MySQL
Summary

Navigating Cancer is a large web application with over 880,000 users, including oncologists, oncology patients, and a large and growing social support community. Main areas of functionality included a mobile medication adherence platform; medical oncology records, labs, and appointment scheduling; patient medical form completion; and support forums chemotherapy articles, and resources.

Over the course of three years, I was a core developer on the web application, deliverying features from the database to the front end and everywhere in between.

Notable achievements include:

  • 2015: I was one of the core developers in the rewriting of the user authentication process using microservices, resulting in increased HIPAA compliance and security for all 880,000+ users of the site.
  • 2014: I completed the development of a new, responsive homepage, boasting a 325%+ increase in average page load time.
  • 2013: I performed a large refactor of the transactional email funcationality and of the application and redesigned the templates for over 20 types of email sent at a volume of over 250,000 per week.
  • 2012: I completely redesigned and reimplmented the patient forms workflow, leading to a significant decrease in support calls.

Side Projects

Name
Syllabize
Role
Creator
Technologies
Ruby, RSpec
Summary

Syllabize is a simple syllable parser written in Ruby. It is available as a gem, and its source code is available on GitHub.

Name
Support the Artist
Role
Creator
Technologies
Go, Last.fm API, IFTTT API, cron
Summary

Ever since I started using Spotify exclusively for listening to music, I have developed a bad habit of forgetting to actually buy albums and support the artist. This project runs on a cron job monthly. It gathers my most listened-to album over the past 30 days and sends me a text message telling me the number of listens and reminding me to buy the album.

Name
Weather Alert
Role
Creator
Technologies
Go, openweathermap.org API, IFTTT API, cron
Summary

I live on a boat here in Seattle, and our water supply comes through a hose in the marina. There are few Seattle nights on which the temperature drops below freezing, but when it does, our water supply hose freezes if we forget to turn it off, and leaves us without water for several hours in the morning. This project, written in Go, runs on a cron job nightly and, if the temperature is forecast to go below freezing, sends me a text message reminding me to disconnect our water supply hose.

Name
Two Hard Problems
Role
Creator
Technologies
Node.js, New York Times API, Twitter API, ES2015
Summary

According to Martin Fowler, the only two hard things in computer science are cache invalidation and naming things. There have been many formulaic jokes made on this theme, and I wondered if I could automate that process. The Two Hard Problems bot runs hourly, scrapes the New York Times API for interesting headlines, combines them into a joke, and posts it to Twitter.