skip to content

Work

coin with a smiley face (lunch money mascot)

Lunch Money Tools

typescript
nodejs
cli

TypeScript library and CLI for the personal finance app Lunch Money.

It supports full CRUD operations on transactions, with various filtering options. It also includes Splitwise API integration so that you can migrate transactions from LM to a Splitwise group, and vice versa; and a feature for importing descriptions of Amazon orders using the "Amazon Order History Reporter" browser extension.

GitHub

Tarot API

NodeJS
TypeScript
Express
zod
Google Cloud

A RESTful API built on Node.js with TypeScript and Express. It supports querying for cards by suit, arcana, or keyword search, as well as "drawing" one or more cards at random. Currently deployed and free to use for anyone who wants to do something fun with it!

GitHub / Docs

abstract image made of lots of wavy lines

Pixel Sketches

typescript
HTML Canvas
p5.js

A growing collection of algorithmic art sketches/experiments. Most are iterating on and polishing up work from other collections, but this is where I've been keeping my most up-to-date code art thingies. Some are using p5.js and some using HTML Canvas, with some ThreeJS stuff in the works also. Will be updated regularly!

GitHub | live sketches

abstract blobby shapes created with glsl fragment shaders

Fragment Shader Experiments

glsl
webgl
shaders
vue

For a few years I've been working on a long, slow project of learning glsl, particularly for writing shader code to use alongside ThreeJS. This is a collection of small experiments in fragment shaders. Some are literally just me practicing drawing basic shapes. Some are inspired by or riffs off of content from the famous Book of Shaders. Some are drafts that became a part of a live website or app later on. The site itself is built with Vue,with some hooks & helpers to make it easier for me to add in GUI tweaks.

GitHub | live site

Generative Art Experiments 2022

p5.js
typescript
HTML Canvas

A second set of generative art experiments, these from 2022. Most of these are still making use of p5.js, though by this point I was playing more with the native Canvas API as well as libraries like ThreeJS as well. This was also around the time I started really liking TypeScript; the code is a mix of JS & TS. The items featured at the page linked below are a few of my favorites out of the year. There are a few flow fields, some looping patterns, and a mandelbrot set, among others.

GitHub | experiments gallery

Vue Trello Clone

vue
pinia
vue-router
unocss
drag&drop

A clone of the kanban app Trello, build with Vue3. I built it to familiarize myself with native HTML drag & drop, practice implementing state management with Vue & Pinia, and to challenge myself to think through how an app like this is designed.

GitHub | Live App

Generative Art Experiments 2021

p5.js

A series of experiments and 'drawings' in learning generative art using the amazing p5.js library. These were mostly done in 2021 - I have another set from 2022, but haven't put it online yet!

See the experiments here.

screenshot of website with map and search function

TryOnvo.com

Google Maps API
WordPress
jQuery
JavaScript
scss
HTML/CSS

Accessible, mobile-friendly website for a chain of travel plazas in the northeast. One of the most interesting things about this project was a custom locations lookup using Google Maps API. The search includes various filters for distance and type of location, and fetches data about gas prices and information for each unique location.

view website

screenshot of a note-taking app

Take Notes

react
html/css
bootstrap

A web app that allows a user to take and save notes. Notes are saved in the browser's local storage so a user can close the window and come back to it later; their notes will be there so long as they have not cleared their browser cache.

GitHub | live app

Screenshot of site homepage. There is a purple wave image across the top.

Oz App

HTML/CSS
WordPress
JavaScript
jQuery
scss

Custom Wordpress theme and website for an entertainment management software. The site is fully responsive with a carousel testimonials slider and several custom pages. The content is all customizable through Advanced Custom Fields.

view website

screenshot of terminal showing a rabbit shape made out of ASCII art

Terminal ASCII Art

nodejs

This app turns a graphic into ASCII art and displays it in the user's terminal.

GitHub