
Welcome!
I’m a seasoned technical leader and engineer with over a decade of experience building high-performance, distributed systems in Java on Kubernetes and cloud environments. I excel in fast-paced environments where I can apply my skills in systems architecture, modern DevOps practices, and team leadership.
As a technical leader, I’ve managed cross-functional, full-stack DevOps teams and implemented modern engineering practices like GitOps (FluxCD), OpenTelemetry for observability, and modular Gradle plugin systems to streamline builds. I’ve also led cloud migrations (both to and from), built internal tooling for deployment and report pipelines, and decommissioned large-scale legacy systems after successful client migrations.
Outside of work, I maintain a personal GitOps-powered Kubernetes cluster spanning multiple physical servers, and contribute to various FOSS projects focusing on networking, privacy, and cloud-native tools. I’m the kind of engineer who reads RFCs for fun and spins up clustered services on bare metal because it helps me better understand the systems I work with. I thrive on complex technical challenges, troubleshooting intricate issues, and learning how new technologies can improve systems and processes.
Skills & Expertise
- Java
- Python
- JavaScript
- Go
- Rust
- C/C++
- OpenAPI
- OAuth2 / OIDC
- Azure
- AWS
- Docker
- Podman
- Kubernetes
- k3s
- k3d
- PostgreSQL
- MariaDB
- Microsoft SQL Server
- Oracle
- Redis
- CI/CD
- GitOps (FluxCD)
- GitHub Actions
- Azure DevOps
- Spring/Spring Boot
- Gradle
- Custom Gradle Plugins
- Maven
- OpenTelementry
- Prometheus
- Grafana
- Tempo
- Loki
- Splunk
Projects
A Kubernetes External-DNS provider for AdGuard Home. It watches for services and ingresses and if it finds a matching annotation it creates appropriate DNS entries in AdGuard Home.
This was initially created for my home cluster which relied on AdGuard Home at the time. I have since migrated to another DNS solution, though not because of any deficiencies with this project.
Repo: https://github.com/jameswynn/external-dns-adguard
Language: Go
Portfolio reconciliation system for Ghostfolio. Supports pulling portfolios from SimpleFIN, and real estate data from Rapid API.
Language: Rust
A FluxCD GitOps powered Kubernetes cluster. It spans 5 machines and hosts over 90 services powering my home network.
Notable Features:
- FluxCD GitOps - automates deployments
- External Secrets - stores most sensitive information securely outside the repo
- SOPS - stores remaining sensitive information within the repo
- Kured - automated kubernetes upgrades
- Prometheus/Grafana Stack - monitoring and alerting
Notable Deployments
- Authentik - SSO Platform
- CloudNativePG - PostgreSQL cluster management operator
- Dragonfly - Redis cluster management operator
- Forgejo - Locally hosted GitHub alternative
- GoToSocial - ActivityPub social network
- NextCloud - Locally hosted Cloud providing personal storage, document collaboration, shared calendars, messaging
- Home-Assistant - Cloud-free home automation platform
A 3D space shooter leveraging my Spark Game Engine.
Language: C++
A simple cross-platform C++ library for monitoring changes in the filesystem. Useful for detecting new files being dropped, or changes to existing files.
Repo: https://github.com/jameswynn/simplefilewatcher
Language: C++
A simple social platform for sharing workouts pulled from Garmin. Supports publishing to ActivityPub via the Mastodon API.
Deprecated by Endurain.
Language: Python
A 3D game engine built atop FOSS technologies. It provides 3D graphics, sound, physics, scripting, hot-reloading of resources, and fast deserialization.
This was mostly a learning tool for exploring various facets of game engine design and largely informed many of my professional decisions at the time. Junkster Wing was the only game created on this engine.
Language: C++