I'm a software engineer interested in building things from the ground up. Specifically, I have an interest for clean, maintainable software projects, open source software and hardware, full stack development, deep learning, ioT, embedded systems, audio technology, and any other compelling technology or idea (I'm easily compelled). I'm always interested in broadening my horizons and try to learn continuously by doing.
Here's my github
Here's my LinkedIn
██████╗ ██████╗ ██████╗ ██╗███████╗ ██████╗████████╗███████╗ ██╔══██╗██╔══██╗██╔═══██╗ ██║██╔════╝██╔════╝╚══██╔══╝██╔════╝ ██████╔╝██████╔╝██║ ██║ ██║█████╗ ██║ ██║ ███████╗ ██╔═══╝ ██╔══██╗██║ ██║██ ██║██╔══╝ ██║ ██║ ╚════██║ ██║ ██║ ██║╚██████╔╝╚█████╔╝███████╗╚██████╗ ██║ ███████║ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚════╝ ╚══════╝ ╚═════╝ ╚═╝ ╚══════╝ __________________________________________________________________
ConcertBug is a live music search assistant. It's a web application that reads the user's music library and
finds all relevant live shows according to the artists they listen to.
It displays concerts geographically - it drops markers for all the user's concerts within a selected date
range and mile radius from any point on the map that is clicked.
So the user can select their location (or anywhere) and see each concert around them in which an artist they
like is playing, along with details and a ticket link.
This was an independent web app project I built as a way to fuel my passion for live music and discovering
cool local (or not so local) shows in an all-in-one, filterable way.
Especially medium to small gigs! Those long forgotten artists buried deep in a playlist that I would never
seek out proactively, but if I knew they were playing at a bar in town I'd show up in a heartbeat.
I rebuilt the application from scratch (throughout Fall 2020) in order to focus on clean, maintainable,
object-oriented design and to put my Typescript knowledge to the test.
Technologies and Takeaways: Typescript, React, Heroku, OO design, the ins and outs of asynchronous
tradeoffs, rate limits
Source
Visit
This was a multi-disciplinary project that started as a request from the keepers in the Heart of Africa
region at the Columbus Zoo & Aquarium. They wanted a way to cognitively engage the giraffes to reduce the
occurance of
steroetypic behaviors they were observing.
A team of myself and two others (specializing in Zoology and Biological Engineering)
designed, prototyped, implemented, and studied the effects of a custom-built "enrichment box" which contains physical interactability, along with motion detecting
functionalities. The main function of the device was to give the
giraffe control over their environment by allowing them to trigger either a food dispense or a music change
in the giraffe barn (depending on mode) via tongue manipulation.
I led the electronics and software design and implementation for the project. This project centered around a
wifi-enabled microcontroller. Among my main tasks were: embedded software architecture
that handles basic box functionality and wireless control signals, peripheral analog circuitry design to
support our external devices and power input, and interfacing with external APIs.
After the project was in flight, we were able to secure funding from The Ohio State University Office of
Undergraduate Research and began a formal research project centered around the device and behavioral
observation.
We presented our findings at the 2019 International Giraffid Conference.
Technologies and Takeaways: C/C++, Particle microcontrollers, webhooks, analog circuit design, power
management, wireless communication, design -> prototype -> product, battery life considerations,
animal-proofing considerations, research data acquisition and analysis procedures
Visual Media
This started as a gift idea for members of my family. It's a box that can't be opened until it is taken to
some specific geographic coordinates on the globe. It's kind of like reverse geocaching.
This is what I "wrapped" my gifts with that I gave to my family for Xmas 2019. Although seemingly cruel at
first, I like to think of it more as the gift of adventure rather than the curse of a tease so close you can
smell it...
This project consists of a small aluminum box with a 3 digit lock combination on the front. I modified this
by installing peripherals onto the box including a small LCD display, push button, piezo buzzer, power
switch, and outfitted it with a GPS module.
I gave the box a brain (Arduino Pro Mini), a checkpoint, and a final destination (the checkpoint is a secret
to the box recipient, they just see a direction and distance).
The LCD display shows 1) heading in degrees, and 2) distance in miles to go.
At the checkpoints there was a physical clue in real life hinting how to interact with the box to unlock the
real destination (the furthest distance I set a box's final dst away from the xmas morning spot was ~2000
miles but the checkpoints were all in town :0).
The final checkpoint reveals the combination on-screen.
Technologies and Takeaways: C/C++, Arduino, EEPROM and non-volatile memory exploration, peripheral
circuit design/prototyping/assembly, GPS,
Great-circle navigation and spherical trigonometry, Aluminum...
Source
Visual Media
This project was born out of the frustration caused by trying to even up friends after a long weekend where
we all spent varying amounts of money.
This seemingly simple task is always slightly more difficult than I imagine, and mental math is often
futile. Once you get 4 or more people involved,
trying to determine who pays who what in order for everyone to have spent the same amount of money quickly
requires pen and paper.
Pay Friends Back is the simple solution. The user inputs each friend name and how much they spent and PFB
displays exactly how much each person should pay, and
who each person should pay in order for everyone to have spent an equal amount.
This project was built with Go on the backend and uses a no-framework pure javascript frontend to keep
things dead simple. More retro and takeaways here.
Technologies and Takeaways: Go, algorithms, runtime complexity, JavaScript, CSS, Bootstrap, Heroku
Source
Visit
This project is based on an open source schematic from Casper Electronics. I breadboarded my own Echo Bender, an audio delay
and feedback effects modulator.
Once built according to the schematic, I tweaked some values and configurations to get even crazier
feedback. This custom pedal was used frequently with my own and my roommates' instruments.
Technologies and Takeaways: Analog circuits, analog signal manipulation, op amp circuits, circuit
debugging, schematics, breadboarding, components tracking and purchasing
Visual Media
This is a project I assembled via a Build Your Own Clone kit. It's an envelope
filter / fixed wah audio effects pedal.
I think the sound it creates sounds kind of like what comes to mind when I imagine a wet squid squishing
around on land.
Technologies and Takeaways: Analog signal manipulation, soldering and assembly, preparing / painting
/ finishing metal, funk
Visual Media
██████╗ ████████╗██╗ ██╗███████╗██████╗ ██╔═══██╗╚══██╔══╝██║ ██║██╔════╝██╔══██╗ ██║ ██║ ██║ ███████║█████╗ ██████╔╝ ██║ ██║ ██║ ██╔══██║██╔══╝ ██╔══██╗ ╚██████╔╝ ██║ ██║ ██║███████╗██║ ██║ ╚═════╝ ╚═╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ __________________________________________
Thanks for visiting!