I DO

Tools, automations, deploys, interfaces, AI workflows, and the debugging that follows.

Python / Flask / Automation / Linux / Docker / Kubernetes / Terraform / Ansible / GitHub Actions / AI Workflows

Development

Mostly Python, mostly useful.

Development

Mostly Python: automation, internal tools, broken scripts, Flask apps, creative workarounds, and the cleanup needed to make things usable.

Most of my development work is Python: building tools, fixing old ones, automating manual work, and finding practical ways around awkward systems. I have worked on internal Flask platforms, build scripts, lab tooling, and small interfaces used by people who just need the thing to work. Outside work, I have also built personal Android apps and dabbled with JavaScript when the project called for it.

Python Flask Automation Internal Tools JavaScript Android Scripting Debugging

Infrastructure

"It works" is not enough.

Infrastructure

CI/CD, Linux services, Docker, Kubernetes, IaC, hardening, monitoring, and the work that makes software reproducible outside one lucky machine.

I work on build environments, deployment paths, service configuration, and the operational mess around them. In my own projects I use Terraform, Ansible, Docker, GitHub Actions, Linux servers, monitoring, and a kubeadm homelab. Build systems, services, permissions, networking, deploy scripts - you name it, I have probably broken it at one point, then made it easier to rebuild or debug.

CI/CD Linux Docker Kubernetes Networking Terraform Ansible Grafana

AI Engineering

Throwing code at Claude is not a strategy.

AI Engineering

I pick the model, shape the harness, set the context, scope the tools, check the output, and keep the bill low.

I use AI the way I use other development tools: pick what fits the job, wire it into the workflow, and check what comes out. I pay attention to the harness around the model: context, tools, skills, subagents, cache use, permissions, and logs. That is usually where the difference is made. It lets me get useful work out of cheaper models, save stronger models for harder parts, explain the setup to the team, and catch problems like unsafe tool access, leaked secrets, or runaway usage.

Model Selection Harness Design Context Tool Scope Skills Subagents Cache Use Cost Control

Design

Useful can still look good (I hope).

Design

I am not a pure designer, but I care about the interface: accessibility, layout, hierarchy, responsive behavior, and making tools clear enough to use without a manual.

I try to build interfaces that are functional, accessible, and visually considered. That usually means clear hierarchy, readable spacing, sensible states, responsive layouts and all in all designed to get away from the "crimes against UI" engineer design. I have a background with Adobe tools, some Figma experience, and enough UI/UX sense to improve the software I touch. This site is part of that claim: custom CSS, no template, and a lot of small decisions about how the page should read and behave.

UI/UX Adobe Suite Figma Custom CSS Responsive Design Accessibility Typography
Terraform Droplet, DNS, firewall. One apply.
Ansible nginx, certbot, SSH. Locked myself out previously.
Hugo Markdown in, HTML out. simple as.
rsync Files land on a $6 droplet.
nginx If you can read this, it works.

Infrastructure as Code

I built the site to deploy the site.

A personal site has been my lifelong dream since 2024, so naturally a simple site won't do. The setup had to cover the boring parts too: DNS, firewall rules, server hardening, TLS, nginx, branch-based deploys, and a way to recover when something breaks.

  • Terraform for the server pieces: Droplet, DNS, and firewall rules live in code.
  • Ansible for server setup: Users, packages, nginx, hardening, and deploy paths are written down and repeatable.
  • One small VPS: A 6 USD/month droplet is enough for the job, and it keeps the whole setup visible.
  • Production and beta on one box: Two web roots, one nginx setup, one certificate path, simple as.
  • GitHub Actions for deploys: Main goes to production. Other branches go to beta. Manual deploy is there for when the pipeline needs a nudge.
View the repo →

The Paperwork

Same set of skills, easier to download.

▶ See my resume in fullscreen (PDF)

Or preview it below:

Your browser does not support embedded PDFs. You can download the PDF instead.