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
scraggo.com
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 refactoring.guru. 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)
Vocode
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 - https://tesseracttheme.com/, 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
- Testing ImmutableJS With Sinon Custom Matchers - Post featured on the How To section of the sinonjs site https://sinonjs.org/how-to/
- @sindresorhus/is - Fix assertion message for .all and .any
- @sindresorhus/is - Add support for multiple predicates to is.any
- grimmdude/MidiWriterJS - ♬ A JavaScript library which provides an API for programmatically generating and creating expressive multi-track MIDI files and JSON objects.
- DavidMetcalfe/Chrome-Bookmarks-Parser - Back up and parse Google Chrome's Bookmarks.bak file
- EbookFoundation/free-programming-books - Freely available programming books