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.
» Metalsmith Plugin: Inject Metadata
Inject Metadata is a plugin for Metalsmith, a Node.js static site generator. This plugin injects Metalsmith metadata values into source file data during the build process. Metadata values can be used as program constants containing such things as file paths or configuration settings. Whereas template plugins pull data from the file object, this plugin injects data into the file object before the template build step occurs.
» Metalsmith Plugin: Preview
Preview is a plugin for Metalsmith, a Node.js static site generator. This plugin generates a customizable text preview for each HTML, Markdown, or plain text source file. Previews can be generated based on word count, character count, or custom markers placed within the source text.
» Bowling Score
Bowling Score is a Python service that manages a bowling game for multiple players. The service takes in pins knocked down, tracks frame scores, and calculates a running total for each player. Scoring mechanics are based on the overview found at the ThoughtCo. "Bowling Scoring" article.
» 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
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
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 is a Python Web application designed using Flask and 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 . SQLite
» Browser Checklist
» 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:
- Shows current prices and user interaction controls on visible worksheets.
- Stores all price points and discounts within hidden worksheets that act as an application database.
- Enables user interaction controls to interface with approximately 2,000 lines of code written in the Microsoft Visual Basic for Applications (VBA) language.
- 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
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:
- Injects specified animation options into each HTML tag containing an animated phrase.
- Places all such objects into a queue.
- Strips each queued object of extraneous HTML tags to isolate the text nodes.
- Recursively plays each animation according to the options stored in the queued object.
» Front-End Web Development