Tech Projects

Random Music Generators

Generate unlimited unique melodies with easily changed parameters including tonality, rhythm, and interval jumps. These melodies can be previewed in-browser and downloaded as MIDI.

Technology: React, Redux, Express, PostgreSQL, Semantic UI, MIDIwriterJS, ToneJS

Random Music Generators

Technology: Gatsby, React, scss, markdown

Tone Rhythm

As a musician developing music applications, I wanted an API that would allow me to put rhythms along with a melody into Tone.Part. The example on Tone's docs shows how this is expected and it's far from ideal. With the help of this small library, the developer-musician can generate an array of Tone.Transport times given an array of musical rhythms in various formats that Tone.js understands.

Technology: JavaScript (Mocha, Chai, Babel, Webpack, Tone.js)

Comparing JavaScript Test Runners

Article and companion app that compares AVA, Jest, Mocha, and mocha-parallel-tests testing frameworks.

Technology: AVA, Jest, Mocha

Design patterns

TypeScript runner for all design patterns on Accompanying blog posts for students of design patterns.

Technology: TypeScript, node, oclif, mocha

Question Prompter

CLI tool to prompt for user configured questions and notes

Technology: node (commander, inquirer)

ImmutableJS Tutorial

Centralized ImmutableJS tutorial and sandbox

Technology: React, ImmutableJS


Vocode is a desktop application that allows users to perform a number of useful commands with their voice. The app can populate a user's clipboard with a snippet (a text template) which can be pasted into any text editor. Users can add other user snippets, create new snippets, and manage all this information in one central place. The app also provides a user the ability to display websites in the app with a voice command.

Technology: Electron JS, WebAudio API, Google Cloud Speech Service, Ant, React, Redux, Express, PostgreSQL

Daft Thunk Direct

Daft Thunk Direct is a full stack e-commerce platform to sell music equipment. Customers can create carts and add products with and without accounts. Administrators are able to update core business functionality.

Technology: Google Auth, Passport.js, React, Redux, Express, PostgreSQL, Semantic UI, Sequelize

SongMind Studios

Music education business website with blog. Includes CTA buttons, contact forms, and a bold color palette.

Technology: Wordpress -, mobile-responsive design with Twitter Bootstrap, professionally hosted with domain name, Mailchimp for email list management and Hootsuite for social media.

Bookmarks to Markdown Utilities

Collection of command-line tools for Chrome bookmark management. (There is some functionality for OneTab, Evernote, and FireFox.) Designed for personal use and other users who may dislike managing a large bookmark collection inside of Chrome, use Chrome for both Desktop and Mobile bookmarking (and mainly use the "Mobile Bookmarks" folder), want to convert bookmarks into individual markdown files, want a way to visit a site and tag the bookmark with minimal mouse movement, and more.

Technology: Python (pytest, pyperclip, argparse)

Subnotes - Organize Your Notes

Web adaptation of a productivity app originally written in Python. Users can input their notes in a certain format and can easily sort, filter, and copy the result to their clipboard.

Technology: Python, Javascript, Bootstrap, clipboard.js, Gulp, Babel

ScragMark: Markdown Notes/Bookmarks

Chrome Extension that allows a user to write notes in markdown format and easily put current tab link in notes. User can display their notes rendered in a separate tab. Notes save persistently.

Technology: Chrome API, Chrome local storage, Javascript, highlight.js, markdown-it.js

GitHub User Search

Web app that allows the user to retrieve data based on a search for a GitHub user name. For example, if you search for `scraggo` (my username) you can easily find my contribution activity (pull requests on others' repositories.)

Technology: AureliaJS, Gulp, GitHub API

Open Source Contributions