My Work

Professional Development

QuickAlerts Chrome Extension2018 - 2020. Actively Maintained

QuickAlerts is an automation framework for use with TradingView, a popular charting site. I sell add-ons at quickalerts.us for things like batch import/export for alerts, user access management and Automated backtesting. I am the sole contributor to QuickAlerts.

Technologies: Javascript, PHP, MySQL, Linux

Goat Alerts Chrome Extension2018 - 2020. In-Progress

Goat Alerts uses alerts from TradingView to execute trades on crypto exchanges. We're still getting the system setup. My work has been designing the architecture, database and building the backend for data management, websocket networking, payment processing and stats calculation. I also do user support, bug investigations and collaborate on the design.

Technologies: NodeJS, Websockets, PHP, MySQL, Linux

Game Development

Easy Labyrinth2018 - Unfinished

Small project intended to be a demonstration of how easy it is to build a roguelike. Utilizes a common game engine I've been developing over the years. (Also used by IdleBreaker & Strife).

Idle Breaker2017 - Unfinished

Small project intended to be a development platform for an incremental game engine. This one is based on Breakout. None of the idle stuff really does anything. Arrow keys to move, space to fire new set of balls, z to "bump" the balls. I stopped development when I moved on to other projects.

Boggle2017 - Complete

Play boggle on your computer. Whatever "Seed" you use always results in the same board, so you can play with friends.

Kingdoms of Strife2016 - Unfinished

This is a fully featured roguelike.
You arrive in the central kingdoms amidst great strife. The 6 kingdoms are in an eternal battle to decide who is supreme. Will your influence sway the balance of power to your kingdom of choice? There also seems to be more than meets the eye. Rumors of dark beings and foul creatures are spread across the land. People have disappeared without explanation. All is not well in the central kingdoms. Are you the foretold hero of so many years?

Baron of Fairoak2014 - Unfinished

Small trading/cargo simulation game. Run cargo around between different planets, try to pay off your loan and stay on the right side of the law.

jsZombie2014 - Complete

A Roguelike survival game. Zombies come in endless waves. How many can you fight off? This engine is the basis for 'Kingdoms of Strife'

Exilania2011 - 2013; Unfinished

Exilania is a Terraria-like game. You can view it's indiedb profile here. It's multiplayer enabled and utilized the lidgren library for networking. All the programming and artwork was done by me. I worked on this for a few years in college. I stopped when I began my first full-time Software Engineering job. I enjoyed working on the networking for this game. It ended up being a very large project.

Minotaur2011 - Complete

My first JS game, I made it back in 2011. You play a minotaur searching through his maze to destroy the orcs. The end levels get very frustrating. Make sure alerts are enabled, and I'm sorry they're required... I was young.

Algorithm Testing

Maze 1

This shows off a mazing algorithm where a digger randomly chooses where to move. As soon as it can't dig anymore, it goes back to the closest area where it can start making new paths and branches there.

Maze 2

This shows off a mazing algorithm where a digger randomly chooses where to move. This algorithm is similar to Maze 1 Test, but it instead branches off of a random nodes with a random chance to do so. These mazes tend to have many more branches and be more confusing.

Line Of Sight

This shows off an implementation of Line of Sight calculation as explained in the Pre-Computed Visibility Tries article at roguebasin.
Use the numpad or arrow keys to move around the map.

Hollywood "Decoding"

Just nonsense that looks kinda cool as the text resolves.

Random

SQL Var Table from CSV Converter

Often I need to import CSV data into a database. I'd frequently find myself crafting a csv into a var table so that I can later import it. I created this tool to quickly facilitate doing that. It probably needs some more work to deal with quotes and non int/varchar datatypes.

Diablo 2: ZyEl 4.5v12 RuneWords

One of my hobbies is interpreting game files and learning how the data works together for the game. This list of RuneWords was constructed from the data files in the ZyEl 4.5v12 mod for Diablo II.

Simple Physical Therapy Timer

After I broke my finger, I needed a simple timer for my stretches. Came up with this.

Project Euler

A fun website for exercising your brain and solving math problems. Over 400 exist to-date.