Hi, I'm MJ!
I'm a backend and platform focused software engineer with 10+ years experience designing, building, and maintaining multi-component and distributed systems. I'm passionate about growing great teams, shifting left, shipping fast, and shortening feedback loops.
scavenger.news
Python service for scraping and viewing content from an instagram profile. The posts are scraped from the profile using a Kubernetes CronJob that runs a Django management command. The application is broken out such that the user-facing UI and admin site is served from a Django application. The code for scraping from instagram is broken out into it's own python package that is a requirement in the Django application.
Python/Django
Feature Flag Service
Feature flag service. Includes percentage and rule-based rollouts.
Go
image resizer
Service for resizing images via API. Submit an image through an easy-to-use POST endpoint. Stored images can then be resized using an intuitive API endpoint. Images are served through a Cloudfront distribution. Used in the scavenger.news CMS for creating thumbnails and generating right-sized images for the front-facing site.
Python
fortune cookie generator
API that returns random fortune cookie text. Fortune cookie text was scraped from a site with ~900 different fortunes. Uses FastAPI with code generated from an OpenAPI spec.
Python
Serato crates
Python package for programmatically updating Serato crates. This library provides a python class for interacting with a user's Serato library. There is a large amount of binary parsing and editing and is a good showcase of my skills deconstructing unique filetypes.
Python
Wavcrate
One of my earliest projects that is also a full-fledged product ready for refinement. A mashup of the functionality of Soundcloud, Bandcamp, and Tumblr. Wavcrate enables music creators to own the presentation of their content on the web. Think Squarespace, but for music creators.
PythonNode.jsBackbone.jsPHP