Patrick Reagan

articles projects résumé

I’m an experienced software engineer specializing in back-end technologies with expertise in architecting well-designed software applications. I bring more than two decades of hands-on experience helping organizations bring their products to market while improving their development and delivery processes.

To better understand my work and approach, please check out my projects, view my résumé, or send me an email.

nestjs-playground (TypeScript)

After spending a significant amount of time with TypeScript and Nest.js, I wanted to explore ways of building services that was influenced by my years of experience developing applications, but that respected the idioms of the language and framework. This is a project where I am able to dive deeper than the official documentation and demonstrate useful solutions to common problems while maintaining overall testability.

scratch-stats (TypeScript)

As part of my attempt to get the young creatives (aka teens) in my household to appreciate the interconnectedness and programmability of the modern-day web, I created this project to demonstrate a simple way to interact with their preferred programming environment (Scratch) by pulling all their project stats from the publicly available Scratch API.

Fleakr (Ruby)

A full-featured API client for Flickr photostreams that represents my first serious effort at creating a reusable software library. This code demonstrates a departure from the constraints of Rails to really dive deep into some core principles of object oriented design. There are some “clever” spots in the code that I don’t think I would repeat if I were to approach this problem domain again, but there’s a lot of good composition and delegation of responsibility in how this code is designed and implemented.

dnsimple (Python)

I had been using the dnsimple Ansible module to manage DNS records when creating and destroying servers, but the underlying Python module became out of sync with the way that Ansible was trying to interact with it. I set about updating the code to handle the new API endpoints and structure the code in a way that maximized usability and modularity with an eye to supporting the updated API version. While this never became the canonical Python module for DNSimple, some ideas were ported to the official module.

minecraft-server (Ansible / Python)

After experiencing lag on our outdated home computers when using “Open to LAN”, I took some time to pull together an existing Ansible role to create an on-demand Minecraft server on Digital Ocean. I experimented a bit with using Block Storage to store world data, but moved to persisting data in a Space to allow for a multi-server setup.

more projects

Recent Articles

more articles