Hi, I’m Allen.

I’m a full-stack engineer that specializes in front-end web development. After earning a degree in music composition and working for several years as a professional musician on cruise ships, I realized a musician’s lifestyle was not for me, and so decided to reinvent myself by going back to school to study computer science. With my background in both the arts and sciences and a knack for getting things done, I believe I can make a positive contribution to any team.


  • Dithermark

    Web application that allows you to easily create original pixel art. Includes variations on many popular image dithering algorithms, as well as original color quantization algorithm research. Uses Vue.js, the Unsplash photo API and modern JavaScript features such as: ES6 syntax, Web Workers, Canvas API, and WebGL.
  • Artour

    Custom CMS, blog engine and static site generator specifically designed for artwork and photography blogs. Made with Elixir and the Phoenix Framework. Features include: separate admin section, custom tags and categories, multiple image asset size support, organizing images in albums using drag-and-drop, and image carousels with optional captions and lazy asset loading.
  • Capricornus Squadron

    2D turn-based strategy browser game in the style of Advance Wars. Created the game engine, user interface and music while acting as the lead engineer for two other students. Uses the browser Canvas and Web Audio APIs.
  • dminjs

    JavaScript minifier that strips comments and excess whitespace in the spirit of jsmin. Written in D and compiles to a native binary, which allows faster startup speed than UglifyJS or Google Closure Compiler. Uses single-pass parsing with single character lookahead for increased speed and reduced memory usage, and supports ES5, ES2015, ES6 and ES7 versions of JavaScript syntax.
  • CSV Parser

    CSV parser written in JavaScript that is currently being used in production as part of a corporate LMS (learning management system). Compatible with the CSV output from Excel, Google Sheets, and Apple Numbers and can be used either in the browser or on a server using Node.js. Includes unit tests using the Jasmine test framework.