These projects are highlights from my past and current development work. I love the creative challenge inherent in problem solving and continually teach myself new skills to expand my repertoire. While some projects here are proprietary, many are not. Everything below is my own work unless specifically stated otherwise.

»Mega Air Man

Mega Air Man

Mega Air Man is a game demo written in Elm and based on the NES classic Mega Man 2. Elm is a cutting-edge ML-style language similar to Haskell that natively supports a functional reactive architecture in client-side Web applications.




»React CSV Component

React CSV Component

This is a React/Flux module written in JSX and Javascript (ES2015) that simulates a CSV (Comma-Separated Value) spreadsheet. It features arithmetic string parsing using the shunting-yard algorithm, undo and redo state tracking, customizable row and column counts, an optional highlighted footer row, and data export into a CSV file (for modern browsers.)


React . Flux . JSX. JavaScript (ES2015)



Hacka_finder Screenshot

Hacka_finder is a single-page Web application (SPA) that matches registered users into hackathon teams based on skills, event goals, and location.

This app uses a modern approach to Web application design where most of the “heavy lifting” is done on the client side. AngularJS and Bootstrap power the front end while Node.js with Express and MongoDB power the back end. Registered users search for upcoming hackathons then find a team to join based on their unique search criteria.

Hacka_finder is a learning project built to study the MEAN stack (MongoDB, Express, AngularJS, Node.js) and Web app development. I read six books and many API references to learn all the technologies then started building. This is the result!


MongoDB . Express . AngularJS . Node.js . Bootstrap . SASS . Mocha . Chai . Grunt . Yeoman


»Simon Says Circuit

Simon Says Circuit

This Arduino project is similar to the electronic memory games made popular in the 1980s. It uses a microcontroller and a variant of the C programming language. The program creates a randomized sequence of progressively complex LED flashes. A player must memorize the pattern and input the correct sequence.

This version gives the player three chances. After entering an incorrect pattern three times, the game is over. The player can reset the game by moving the board to activate the tilt switch.


Arduino . Circuit Design . C


»Text Scalpel App

Text Scalpel App

Text Scalpel App is a Python Flask Web application designed using the MVC architecture pattern.

A user enters his or her name then uploads a text document. The app parses this file to find word counts and display a list of the most common words. It also generates a random text paragraph using words pulled from the file. Results are stored in a SQLite database using relational tables that link users to their text analysis results.


Python . Flask


»Browser Checklist

Browser Checklist

JavaScript drives this checklist application. It provides users an interactive todo list using vanilla JavaScript, local storage, geolocation, and the Google Maps API without the overhead of extensive JavaScript libraries. Modernizr detects available browser features. The application attempts to save tasks to local storage and falls back to cookies when local storage is unavailable.


JavaScript . Modernizr . Google Maps


»Fortune 100 Pricing Tool

Fortune 100 Pricing Tool

This tool suite supports the sales function at a Fortune 100 corporation. It determines customer eligibility for current promotional offers based on geography and product selection then exports a price quote into a standalone document.

I built this tool entirely in Microsoft Excel using a Model-View-Controller (MVC) pattern. Here’s how it works:

  1. Shows current prices and user interaction controls on visible worksheets.
  2. Stores all price points and discounts within hidden worksheets that act as an application database.
  3. Enables user interaction controls to interface with approximately 2,000 lines of code written in the Microsoft Visual Basic for Applications (VBA) language.
  4. Updates the hidden database worksheets and the visible interface worksheets based on user interactions that access the VBA code.


Microsoft VBA . Microsoft Excel


»Website Animation Control Panel

Website Animation Control Panel

This animation control panel enables non-technical content managers to enter desired text within a modified WordPress interface then select a custom animation style and timing for each entered phrase. Animated phrases appear on the homepage in specified order with the custom animations applied. The project weight is approximately 200 lines of code. Here’s how it works:

  1. Injects specified animation options into each HTML tag containing an animated phrase.
  2. Constructs a JavaScript object containing all user-defined animation attributes associated with a phrase.
  3. Places all such objects into a queue.
  4. Strips each queued object of extraneous HTML tags to isolate the text nodes.
  5. Recursively plays each animation according to the options stored in the queued object.


JavaScript . jQuery . PHP


»Front-End Web Development

Front End Web Development

My experience with front-end Web development includes responsive and fluid design, landing pages, email templates, and WordPress themes. While I build certain projects from scratch, I base many others on standards-compliant frameworks, such as HTML5 Boilerplate, to circumvent the many browser quirks confronting modern Web development. My Web projects often include jQuery or vanilla JavaScript and a healthy dose of SEO.


HTML . CSS . JavaScript . jQuery . PHP