Profession and Passion

I love building quality tools for the web, and automating processes.

Together

Fall of 2019 | Self

Node.js Vue.js GPS Map Data Markdown

Together is a blog that I've created to show some travels off to the family. The thing that makes this project interesting is the way that it uses data from photos to determine what potos are related to locations and stories.

Stories are stored in markdown, with a small amount of yaml front-matter. There is a generator for these files that runs in the command line. This yields a very simple to edit blog that is just text files.

Node.js Vue.js GPS Map Data Markdown

LiteSwarm

Summer of 2019 | Self

Arduino C++ FastLED WS281X Eagle CAD

This is a project for synchronizing light displays across an improvised wireless network. They were used mostly in scarves and on bicycles, but @100ideas and I are trying to design an easy to implement DIY project that will allow individuals to construct lights that will communicate with each other.

In the repo are Eagle CAD design files for a custom board, to which all controls and LED connections are soldered. We got a small run of these boards printed for our project.

Arduino C++ FastLED WS281X Eagle CAD

RiddleSticks

Fall of 2018 | Self

Vue.js Cryptography AES

This small tool allows anyone to create a file that contains an encrypted message with a riddle. Along with the file are all of the parts required to decrypt the message if the riddle is guessed. The entire thing is then packaged up as an html file and downloaded.

This is intended for people to use to write love letters, but it could be used for other purposes, such as a part of a scavenger hunt or something of the like.

Vue.js Cryptography AES

Mokker

Winter of 2018 | Self

Node.js Faktory Express.js Rails Docker Kontena OpenCV Puppeteer Electron

This was a startup tool for advertisers to preview ads on various webpages. Many advertisers have to provide some sort of mockup of how ads appear on page. The problem this solved was automating the collection of up to date screenshots of ads on page.

This was a fairly complex operation with a microservice architecture and a queueing system. It consistem of:

  • A crawler to find pages with ads.
  • A scraper to navigate to those pages in Puppeteer, inject JavaScript into the page to replace the targeted ad, and then screenshot the page.
  • A rails application to provide an outward facing API.
  • An electron app for quickly uploading images to your account, which would then be processed.

Node.js Faktory Express.js Rails Docker Kontena OpenCV Puppeteer Electron

Able Health

summer of 2016 | Able Health

Rails ActiveRecord Terraform AWS Docker Kubernetes Terraform Pair Programming TDD PosgreSQL

I worked with a group of super smart and driven folks to help build Able Health. We did a lot of pairing to work on complex health measures.

We worked to provide health insights to doctors in an unheard of timeframe. Rather than running reports annually to determine how much money was owed to providers by insurance, we ran metrics every day to give up to date feeback on how providers were doing.

Being a small team, we were all full stack developers. I spent a lot of my time working with docker and kubernetes. Probably most of my work was trying to use ActiveRecord to craft efficient and complex queries that fulfilled the needs of the health industry.

Rails ActiveRecord Terraform AWS Docker Kubernetes Terraform Pair Programming TDD PosgreSQL

CloudPassage

summer of 2015 | CloudPassage

Rails Sinatra CVE

I had a great experience with CloudPassage working on the core product. Eventually a lot of my job solidified around an internal tool I built to collect and version vulnerability content.

I proposed and built a project that resulted in one of our first in-house microservices. The benefits included centralization, and reduced redundancy in tons of data processing.

Rails Sinatra CVE

Flirtmoji Web App

Fall of 2014 | Self

Ruby on Rails ActiveAdmin Stripe Mobile Safari HAProxy Ansible Docker (later) Kontena (later) ImageMagick

This was a unique challenge, and a really fun project. I'm actually a partner with this company, and we've been having a blast making cool emoji for people to text with.

This project involved some original thinking because we needed to find a way to distribute our emoji without there being a store that already existed to sell them. So, we had to create our own custom workflow to both sell, and use the product.

I did everything from the coding for the rails app, to all of the infrastructure management, and server scaling.

Ruby on Rails ActiveAdmin Stripe Mobile Safari HAProxy Ansible Docker (later) Kontena (later) ImageMagick

Marketing Website

Fall of 2013 | MacCentric Solutions

Sammy.js Assemble HTML JavaScript SASS

This project was a much needed update to their website. They needed a new design, and a better way of getting what they do across.

Sammy.js Assemble HTML JavaScript SASS

Coding Website with CMS Integration

Summer of 2013 | X Winery

jQuery LocomotiveCMS

This great design was done by MM Design, but then the project was passed off to me for coding, and CMS integration. I chose LocomotiveCMS, and have been very happy with it.

jQuery LocomotiveCMS

Samples Database

Fall of 2009 | Terris Barnes and Walters

jQuery Ruby Rails Heroku

This project started with an aging filemaker database. The goal of the project initially, was just to make the old database work. But then we took a good look at what the organization really wanted, and it was more than FileMaker would reasonably offer.

It wasn't long before we were working on a project that would allow the organization to collaborate on this piece of their business, as never before. They no longer needed a person to type and retyple the same thing over and over again. We used nested models to elinate loads of redundant work.

jQuery Ruby Rails Heroku

DPT Watch

Spring of 2009 | Self

Ruby on Rails Heroku

Around the time of this project, I recieved a parking ticket at a paid meter. Instead of wasting the day trying to fight the ticket, I decided to create a system where the public could post complaints about parking tickets, along with officer badge numbers. I'm pleased to say, people are still using it and referencing it regularly.

Ruby on Rails Heroku