Senior TAM · Infrastructure & Security · Northern Michigan

20 years of complex enterprise platforms,
building customer relationships, and upskilling teams.

I've spent my career at the intersection of complex infrastructure and the customers who depend on it: managing platforms that process billions of calls for the largest US financial institutions, turning critical incidents into trust, and building the teams that keep it all running.

About

Hi, I'm Aaron D. Lee. I started my career testing Digium telephony hardware on a workbench in Huntsville, Alabama. Twenty years later, I'm the senior technical point of contact at Pindrop for some of the largest financial institutions in the country.

Curiosity and follow-through have led me to build internal tools that got widely adopted, run complex cloud migrations for customers processing hundreds of millions of calls, and mentor junior engineers. But the things I'm most proud of aren't always the technical wins. It's the 2 AM bridge calls with hoarse voices and tired eyes, keeping customers steady until we got it done, and the relief in their voice when it's finally over. That's what keeps me going.

The technical stuff doesn't mean anything without the person on the other end who needs your help. That's my main motivator, though it helps that I genuinely love learning the skills that make it all possible.

Aaron D. Lee outdoors in Northern Michigan

Location

Northern Michigan

Focus

Infrastructure · Automation · Customer Success · Security

Work Experience

Pindrop

January 2016 – Present

Senior Technical Account Manager

July 2025 – Present
  • Own the technical relationship for 4 top-tier US financial institution accounts representing tens of millions in annual recurring revenue
  • Lead Support/Sustaining Reviews across FACT, CSM, and support teams, turning multiple at-risk accounts into healthy renewals through hands-on technical engagement
  • Mentor 3 Support Engineers, closing technical gaps and building team capability
  • Develop and deliver training for TAM and Support teams on API troubleshooting, integration architecture, and product internals
  • Won the department's "Consider It Done" award in 2023 and 2024; recognized in writing by multiple customers

Principal Support Engineer

January 2022 – July 2025
  • Premium support lead for top-10 US financial institution accounts on Pindrop's fraud detection platform, managing environments processing hundreds of millions to billions of calls
  • Drove on-prem to SaaS migrations for the largest and most sensitive customer environments. Ran migration scripts, collaborated directly with engineering on tooling, and identified bugs and workarounds that were adopted into the official migration process
  • Mentored and shadowed junior engineers through their own customer migrations, ensuring successful delivery across the team

Customer Support Engineer, Tier 3

May 2018 – January 2022
  • Primary Support Engineer for top-25 US financial institution accounts on Pindrop Protect, supporting the full stack from bare-metal servers through cloud services, often inside customer VDI environments where all infrastructure was treated as black-box
  • Managed SSL certificate lifecycles, IdP/SSO integrations, access management, and gathered audit data for customer security attestations
  • Maintained Datadog alerting, coordinated Dell hardware replacements, and owned customer upgrades including 30+ hour weekend maintenance windows requiring tight alignment between customers, vendors, and internal engineering
  • Worked extensively with Pindrop's SaaS REST APIs (IAM v1/v3, configuration endpoints), built Postman environments with variables and scripts, and used curl and Python requests for bulk operations
  • Authored customer-facing runbooks and MOPs for change requests, DR/BCP failover testing, and other operational activities, coordinating each end-to-end from initial discussions through change ticket closure; also contributed to internal troubleshooting and process documentation

Customer Support Engineer, Tier 2

January 2016 – May 2018
  • Advanced troubleshooting and day-to-day sysadmin on Linux-based fraud detection services across bare-metal on-prem deployments: tcpdump, Wireshark, dig, traceroute, log analysis, systemd service and timer management, and general RHEL/Debian operations
  • Extensive MySQL work (DML, replication, database administration) with Python and Bash automation for admin tasks, reporting, and incident recovery
  • Managed support lab infrastructure including TDM call capture and custom traffic generation systems
  • Built the Pindrop Traffic Generator (ptg), a Python/Flask/Asterisk tool for emulating real-world call center VoIP and TDM traffic, used by DevOps and Engineering to reproduce especially tricky issues

Freelance Asterisk, VoIP, and Linux Consultant

Self-Employed · Huntsville, AL · July 2015 – January 2016

Consultant

July 2015 – January 2016
  • Provided freelance VoIP, Asterisk, and Linux support and training services
  • Created company-wide training curriculum on PortaOne and Asterisk platforms; continued as contract trainer for AVOXI after departure

AVOXI

Atlanta, GA · January 2013 – June 2015

Principal Customer Service Engineer

April 2015 – June 2015
  • Promoted to Principal CSE, the most senior customer support role at the company, during the support team's reorganization under Engineering

Customer Support Tier II / Team Lead

January 2013 – April 2015
  • Led consolidation of four international support teams (US, Jamaica, South Africa, Costa Rica) into a unified 24-hour operation
  • Supervised a team of 4 support technicians across Atlanta and Kingston offices
  • Support Technician of the Year (2013) · Bright Idea Award (2014) · Moxie Award (2014)

Digium, Inc.

Huntsville, AL · February 2004 – March 2009 & March 2012 – January 2013

Technical Support, Tier II

March 2012 – January 2013
  • Returned to Digium to provide Tier II technical support for Switchvox and Asterisk product lines

Quality Control → Software Technician → Support Tech II → Technical Trainer

February 2004 – March 2009
  • Progressed through four roles over five years, from hardware QC into Asterisk training and dCAP certification development

Skills & Tools

Cloud & Infrastructure

  • AWS (CloudWatch, EC2, Lambda)
  • Docker & Compose
  • Terraform (DigitalOcean)
  • Linux (RHEL, Debian, Ubuntu, Arch)
  • Bare-Metal Server Management (Dell)
  • Nginx / Traefik / systemd
  • VMware / VDI Environments
  • Grafana & Datadog

Languages & Frameworks

  • Python (FastAPI, Flask, requests)
  • Bash / Shell Scripting
  • JavaScript / HTML / CSS
  • SQL (MySQL, PostgreSQL)
  • Regex / Log Analysis

Networking & Security

  • tcpdump / Wireshark / dig / traceroute
  • SSL/TLS, IdP/SSO, Access Management
  • firewalld / ufw / iptables
  • REST APIs / Postman / curl
  • VoIP/SIP (PJSIP, PortaOne)

Domain Expertise

  • VoIP, SIP, Asterisk PBX
  • Fraud Detection (Pindrop Protect)
  • Enterprise Customer Success
  • Incident Management
  • DR/BCP Planning & Testing
  • Training & Curriculum Development
  • Technical Documentation & Runbooks

Platforms & Practices

  • Jira / Confluence / ServiceNow / FreshDesk
  • Git / Gitea Actions CI/CD
  • Claude Code / AI-Assisted Dev
  • WebSocket Architecture
  • Macro Automations: KeyboardMaestro / AutoKey / espanso

Projects

Web App

Golf Cards

Real-time multiplayer 6-card Golf with 8 distinct AI opponents, event-sourced game history, and full account system. Built end-to-end on FastAPI + WebSockets with Postgres, Redis, and Sentry, and runs in production at golfcards.club.

Visit Project → Source Code →
Attestation

FieldWitness

Offline-first evidence attestation for journalists, NGOs, and at-risk organizations. Ed25519 signatures, Merkle-chained hash history, and RFC 3161 time anchoring, designed to work airgapped and survive adversarial conditions.

Source Code →
Security

stegasoo

A steganography toolkit for hiding AES-256-GCM-encrypted messages inside images (DCT, LSB) and audio (LSB, spread-spectrum), with CLI, Web UI, and REST API frontends. Multi-factor extraction via reference photo, passphrase, and PIN.

Source Code →
IoT / Security

vigilar

A privacy-first, locally-run home security and surveillance system with kiosk display and remote-viewer components, designed to run on your own hardware instead of shipping footage to someone else's cloud.

Source Code →
Dev Environment

dotfiles

A fully-scripted zsh, tmux, and vim environment for Arch and CachyOS, with a plugin manager, machine-specific profiles, a shell-config test harness, and a one-line installer. Built as a daily driver, not a showcase.

Source Code →

Infrastructure

Everything on this domain (this site, the Gitea at git.adlee.work, and the live golfcards.club game) runs on a single DigitalOcean droplet I manage with Terraform. I run it myself because depending on my own stack is the best way I know to stay sharp on the tools I work with during the day.

When something breaks, I write a blameless post-mortem with a tracked remediation plan, numbered INC tickets, action items, rollback procedures, the whole drill. Happy to share specific post-mortems on request; this is where I practice the SRE discipline I teach during the day.

alee@adlee.work: ~
alee@adlee.work:~$ tree -L 2 /services

Internet ─ 443 ─▶ Traefik  +  Let's Encrypt
                  │
                  ├─ adlee.work             → this site
                  ├─ git.adlee.work         → Gitea
                  ├─ golfcards.club         → Golf Cards
                  └─ git.golfcards.club     → Gitea (alias)

alee@adlee.work:~$ docker ps --format '{{.Names}}\t{{.Image}}'
traefik-traefik-1            traefik:v3.6
adlee-cv-web-1               nginx:alpine
gitea-server-gitea-1         gitea/gitea:1.22-rootless
gitea-server-postgres-1      postgres:16-alpine
gitea-server-act_runner-1    gitea/act_runner:latest
golfgame-app-1               golfgame-app
golfgame-postgres-1          postgres:16-alpine
golfgame-redis-1             redis:7-alpine

alee@adlee.work:~$ docker network ls --format '{{.Name}}' | grep -Ev '^(bridge|host|none)$'
traefik_web                  # shared ingress, Traefik + all routed services
golfgame_internal            # golfcards app + its Postgres + Redis
gitea-server_gitea_db        # Gitea + its dedicated Postgres (isolated)
gitea-server_gitea_internal  # Gitea + its act_runner

alee@adlee.work:~$ crontab -l
*/5 * * * *  /usr/local/bin/check-uptime.sh       # external uptime beacon → healthchecks.io
0 4 * * *    /usr/local/bin/backup-postgres.sh    # daily restic → DO Spaces, 90-day retention

alee@adlee.work:~$ restic snapshots --tag postgres --latest 1 --compact
ID        Time                 Tags
---------------------------------------------------------------
d15ac81e  2026-04-05 20:47     postgres  golfgame-postgres-1
4c76072d  2026-04-05 20:47     postgres  gitea-server-postgres-1

                  one DigitalOcean droplet · managed by Terraform
adlee.work

This CV site. Static HTML/CSS served from an Nginx Alpine container.

git.adlee.work

Self-hosted Gitea with an act_runner for CI. Canonical home for my personal code.

golfcards.club

Real-time multiplayer card game. Python/FastAPI server, WebSocket transport, Postgres + Redis, Sentry for production monitoring.

Stack at a glance

  • Host: DigitalOcean droplet, Ubuntu 24.04, reserved IP in nyc1
  • IaC: Terraform manages droplet, firewall, DNS, SSH keys, and Spaces buckets; remote state in DigitalOcean Spaces
  • Edge: Traefik as its own standalone Compose stack with automatic Let's Encrypt TLS. Services expose themselves via container labels on a shared external network, so application stacks can restart, upgrade, or crash without taking down public routing
  • CI/CD: Gitea Actions pipeline triggered by release tags, builds a Docker image, pushes to Gitea's container registry, auto-deploys to staging with health checks, then a manual approval button promotes the same image to production
  • Runtime: Docker Compose, one stack per service. Each stack owns its own data, no cross-stack database sharing, so an outage in one service cannot cascade into another
  • Data: Daily Postgres dumps (both golfcards and Gitea instances) streamed into restic on DigitalOcean Spaces, encrypted, deduplicated, 90-day retention, no plaintext backup ever lands on disk
  • Monitoring: External uptime checks via healthchecks.io at 5-minute cadence with alerting on failure
  • Email: Resend / Amazon SES for transactional mail on golfcards.club, with DKIM, SPF, and MX configured in Terraform

Terraform configs live in a private repo for now. Happy to share on request, and I plan to publish a cleaned-up version soon.

Beyond the Terminal

I live in Northern Michigan. I love to kayak, fish, and hike. Getting out on the water or into the woods is the best way I know to clear my head. I'm always exploring somewhere new in the Northern Lower and Upper Peninsula.

I'm a self-taught cook who treats the kitchen the same way I treat a lab environment: experiment, taste, adjust, iterate. My family is usually the QA team, and they don't hold back on feedback.

I love live music, and photography is how I slow down. There's something about framing a shot that forces you to actually see what's in front of you before you can capture it.