Solutions that Save You Time and Headaches


I have been doing web development for ~15 years. It started with online journling and forums for my friends. Since then I have moved to creating custom client management solutions for lenders and other web based applications such as a realtime asyncronouse non-blocking connect four game and dynamicly created playlist builder.

Throught the years my toolbox has grown and now includes technology such as PHP, NodeJS, Bootstrap, Websockets, and others. Each technology allows for a different approach to a problem, and I have even used R (stats language) to generate a static CSS ruleset for a webapp.

  • Built a realtime web-based multiplayer version of connect four with chat. Users are automatically sent to a new game minimizing unncessessary user interactions.
  • Screenshot
  • Technologies Used
    • HTML/CSS
    • NodeJS
    • Socket.IO
    • Dokku
  • Link
  • PlayC4.com
  • Playlist builder which creates a filterable track listing from BandCamp albums. Users can drag and drop tracks as well as filter by sub-genres and specific artists.
  • Screenshot
  • Technologies Used
    • HTML/CSS
    • NodeJS
    • Socket.IO
    • Dokku
  • Link
  • PLYL.ST
  • Created a pizza tracker that delivers SMS notifications on a pizza's status. Works with Pizza Luce and Domino's. Focus was on a minimal design which scales well on mobile as well as desktop.
  • Screenshot
  • Technologies Used
    • HTML/CSS
    • NodeJS
    • Socket.IO
    • Dokku
    • Cheerio (Web Scraping)
    • Twilio (SMS)
  • Link
  • PizzaTracker.AppUp.io
  • Minimal web application written in a night for my girlfriend. She mentioned there weren't any simple, aesthetically pleasing pollen tracking applications out there.
  • Screenshot

Not everything needed a GUI and command line tools allowed for modular design. For command line tools that don't require threading, I primarily use PHP. When a more robust solution is needed I use NodeJS or R depending on the requirments.

Recently I have been writing command line tools to help with data analytics where I primarily will use NodeJS or R. Both allow for parrellel processing and are very capable languages. NodeJS allows for making a GUI trivial, whereas R is best when stats are involved.

  • This console app was designed to collect information for subbreddit posts and users to analyze patterns within Reddit’s user base. It stores the information in two CSVs, one for the submissions and one for the users.
  • Sample Data
  • Author ID Post Date Comments Score
    UnholyDemigod 4jj45x 2016-05-16 201 1109
    Underpresssure 4lfjph 2016-05-28 13530 4591
    Columns have been trimmed from the original CSV
  • This command line tool was created to scan through my Wells Fargo PDF statements to look for transactions over a specified dollar amount and write them to a seperate CSV file.
  • Sample Data
  • Date Transaction Name Value
    2/23/15 WF Credit Card Auto Pay... 147
    1/21/15 WF Credit Card Auto Pay... 143
  • This was written as a proof of concept to demonstrate how to look for JSON using regular expressions and dynamically save remote binaries to the local filesystem.
  • Sample Output
  • Downloading Tracks from Petrol Girls's album Some Thing EP

    • ./albums/Petrol Girls/Some Thing EP/Petrol Girls - Protagonist.mp3
    • ./albums/Petrol Girls/Some Thing EP/Petrol Girls - Separated.mp3
    • ./albums/Petrol Girls/Some Thing EP/Petrol Girls - Slug.mp3

I got into data science a few years ago and found it to be my favorite field of study so far. There are so many ways to present data and link information together. Visualizing the data helps communicate relationships, importance, patterns, and more. Analysis allows for creating forcasts and predictions as well as determine what factors have importance and what should be visualized. Interactive modeling allows for calculating permutations from factor values to find the key groupings.

  • There was a lot of data to link in this analysis. I started by grouping similar subreddits and used Tableau for my intitial exploratory analysis. For the author's age I wanted to show the author's age at the time of submission, so I made a calculated field that returned the difference in the date of the author and the date of the submission.
  • Comparing polical subreddits needed context, which is why the grouping of all other subreddits and subreddits that commonly have throwaway accounts were needed.
  • Visualized
  • Technologies Used
    • NodeJS
    • JSON
    • Tableau
  • Created this from the 2011-2013 ODOT data because someone was complaining about cyclists not paying the gas tax where they lived (Portland). Taking into account the damage (1/9,600 the damage of a car, and roads cost a pretty penny to repair) and that many cyclists have cars if not at least a license, (89%) it became clear that cyclists have been subsidizing motorists in Portland.
  • Visualized
  • Technologies Used
    • Tableau
  • Data comes from the 2012 Minneapolis ALPR data inside the date range August 30th to November 29th. For readability's sake any coordinates with fewer than 5 pings were removed. Circumfrences increase starting at 51 pings, red is 100 pings, and overlaps are from coordinates very close to each other. The overlap is prevelant in the bottom right with the values 100+80+76+54+9 = 319. I plan on doing a traditional heatmap as well using Google Maps to interactively explore if there is enough interest.
  • Visualized
  • Technologies Used
    • Tableau

Minimum Distance in R

Find the minimum distance between two points, and their coordinates.

Percentage of Occurance in Date in R

Calculate percentage of occurrences for diseases based on the herd and date.

Story Text Breakdown in R

Creates an ordered frequency count based on input from the terminal. echo "test1 test2 test2" | story.R

Transpose and Unmelt Instances by Column Values in R

Creates a wide format for matches

Yep, You Can Hire Me

Data science projects take preference, but if you need some custom Wordpress plugin developed or automation tools created I do those as well.