Projects

Groovin
Groovin

A circular 8-part drum machine that outputs MIDI. Inspired heavily by the iOS app "Patterning", I created Groovin to test my @react-midi packages as well as to expand on the capabilities of "Patterning". I'm very excited about this project and am constantly developing new features for it, with melodic tracks and sequence saving coming soon!

Github
PlaceList

An app for creating and sharing "playlists" of places, created to practice user authentication and GraphQL! It uses Google's Places API for location data and autosuggest, Passport's Facebook strategy for login, Apollo packages for working with the GraphQL server, and MongoDB Atlas for data persistence.

Github
@react-midi

After a few dead-end attempts at creating a reusable solution for working with MIDI access in React, I revisited the problem after Hooks were released with React 16.8! The result is @react-midi, a library of hooks and components that make working with MIDI in React much easier. This package can be used to build React powered sequencers and interfaces, but also opens the door to a new kind of experience, using knobs and faders to interact with the web.

Github
Daily Journal

Daily Journal was built to help me keep small summaries of my day's activities to look back and reflect on, with a Github inspired contribution calendar for motivation/navigation. It implements react-beautiful-dnd so the items can be quickly reorganized, and LocalStorage to persist data.

Github
Lunaphase

Lunaphase is a quick project inspired by a lunar calendar I have hanging on my wall. It uses D3 to render a grid of moons, all in the appropriate phase and roatation respective to your location. Clicking on a moon shows its rise and set time, also adjusted for your location.

Github
elementcalc-icon
Element Calculator

A molecular mass/mass percentage calculator in the form of a periodic table. It allows you to add and subtract elements by clicking on them, or by entering the formula.

Github
thoughtjar-icon
Thoughtjar

A web app for organizing thoughts and ideas into categories. You can add new categories, assign them colors, and use them to filter thoughts. Utilizes service workers and the localStorage API to allow offline use.

Github
Dirbook
Dirbook

A CLI that enables users to save, open, and copy directories. Dirbook can optionally manage aliases for saved directories in .bashrc. I use this a lot for saving starter projects to copy later, and for hopping around between my projects quickly.

Github
location-icon
Mirageo

A library for creating mock location data, optionally within a bounding box/polygon. mirageo-server spins up a local server that exposes the data via HTTP and provides a map interface for location visualization and bound manipulation.

Github
mendeleev-icon
Mendeleev

A small library for building compounds and working with element data. PeriodicTable acts as a wrapper around a JSON file detailing all of the elements and their charecteristics. Compound is responsible for parsing and formatting compound notation, as well as performing the mass/percentage calculations.

Github