I'm a staff engineer & writer about making software.
My specialty is backend development using Python (FastAPI, Django, Flask).
At high-growth startups, I've led teams that scaled database (PostgreSQL, MySQL), caching (Redis), and task queueing (Celery) technologies.
Comfortable with AWS & GCP. CI/CD evangelist. Docker user. Vim lover.
You might like my articles about software development on my Medium blog.
I'd love to have you join my daily email list.
Want the personal details? Learn about me.
I was Cube's founding backend engineer, working directly with the CTO to build and scale the product. I joined when the company was still in Techstars, pre-seed. At the time that I left for a sabbatical in Mexico City, I was the #1 contributor to Cube’s codebase at 300k lines, across 470+ pull requests.
More important than my individual contributions, as tech lead, I facilitated a team of 6 engineers responsible for Cube’s full-stack app (Django + Vue). Working with the product manager and CTO, I planned & was responsible for the team's implementation of Cube’s integration strategy with external systems, enabling $100k+ bookings in Q4 2021.
The backend is written in Django + Django REST Framework. Frontend components in Vue. Cache layer implemented in Redis. Async, parallel tasks across 100M records built using Celery. Deployment to AWS, with CI/CD via CircleCI + Amazon CodeDeploy.
I have a goal of reading all the Pulitzer Prize winning novels. However, every time I go to the library, I have to look up a list of the winners and remember which ones I've already read. This site is a basic checklist that solves that problem.
The backend is a Django application that uses REST Framework to serialize Book and Author models. Postgres database. Frontend is React using CSS flexbox. Makes AJAX calls to the API when a checkbox is clicked.
An anonymous chat application that uses SocketIO to instantly push new messages to all connected clients. Can deploy as a standalone app or as a chat component in a larger application.
Uses jQuery and the SocketIO client on the frontend. NodeJS backend. All message data is stored client-side, meaning chats disappear once you've left the session and the backend has no storage overhead.
Deployed to Google Cloud with manual worker scaling so sockets are consistent for all users.
A Python Flask web application that allows you to try your hand at trading stocks.
Uses real data from the IEX API, and stores user portfolios, transactions, and cash balances in a PostgreSQL database. Uses SQLAlchemy for database models and queries. Front end is Bootstrap 4.
CI/CD via Travis. Automatic deploys of passing builds to Heroku.
As a consultant, build a Python CLI tool to automate weekly marketing and reporting tasks. Connects to external APIs to search/sort 10k+ records, removed manual labor & increased efficiency by 50%, saving 4 hours/week.
Developed a Django application for managing clients, projects, and field reports for a leading dam engineering firm in Western North Carolina. Uses MySQL database and deployed with Google Cloud's Google App Engine and Cloud SQL.