Hey, I'm Patrick.
I'm a software developer in Kansas City. Most of my work is full-stack web development, API design, and IoT systems — the kind of projects where data starts on a sensor somewhere and ends up on a dashboard. At home that looks like tracking lake levels and keeping an eye on our utility usage.
Away from the keyboard I play music, ride my bike, hang out with my family, and occasionally write things down on the blog.
I'm not looking for a new job, but I have a hard time saying no to a good problem. If you've got one that keeps you up at night, tell me about it.
- years writing software
- 10+
- public repos on GitHub
- 126
- languages shipped to prod
- 5+
- public commits, last 90 days
- 331
What I work with
Frontend
- React
- Next.js
- TypeScript
- Tailwind CSS
- Design Systems
Backend
- Go
- Node.js
- Python
- PostgreSQL
- MySQL
DevOps
- Kubernetes
- Docker
- AWS
- GitHub Actions
- Terraform
IoT
- Arduino
- Raspberry Pi
- MQTT
- Home Assistant
- ESP32
Stuff I've built
Side projects, small tools, and a couple of sites for family.
Notion to Things3
Bridge between Notion and Things3 that keeps tasks in sync across both platforms.
- Python
- Notion
- Automation
Table Rock Lake Level
Live and historical water level data for Table Rock Lake, visualized in the browser.
- Next.js
- TypeScript
- Vercel
KC Utilities
Scrapes KCPL and KC Water usage data and pipes it into InfluxDB for dashboarding.
- Python
- InfluxDB
- IoT
The Irish Aires
Website for my dad's St. Louis-based Irish music band.
- TypeScript
- Next.js
- Vercel
SSD Farms
Website for our storage facility in Shell Knob, MO.
- TypeScript
- Next.js
- Vercel
Epoch Convert
Tiny CLI tool for converting epoch timestamps. Faster than googling it.
- Go
- CLI
MLB Magic Numbers
Crunches the numbers to show how close every MLB team is to clinching.
- Python
- Sports
KC Water
Python library for programmatically reading Kansas City water usage data.
- Python
- API
Say hi.
Have a project in mind, want a second set of eyes on something, or just want to talk shop? Email is the best way to reach me.