About
born and raised in texas / late nights spent installing whatever linux distro was new that week or meeting strangers on irc. headed north for undergrad in victoria, bc where i picked up a BA in 20th century american history (from a canadian perspective, naturally). came back south and landed at apple in the summer of 2007, right as every employee was getting a free iphone, and stayed five years before heading back to school for a master's in education.

right before graduating, i met my wife + other half / she's kept me sane ever since. we have two kids we do our best to keep curious, motivated, and occasionally on time.

after a gratifying run in education (taught 4th + 5th graders, then coached teachers as an academic technologist / video portfolio), the tinkering itch won out and around 2018 i made the leap into engineering. been doing devops + platform work ever since / these days i'm a lead devops engineer specializing in software supply-chain security, working remotely w/ liatrio, helping teams prove where their software actually comes from. lately that means designing private sigstore stacks, getting builds to SLSA build level 3 w/ github artifact attestations, writing a go cli that uses sigstore + OPA policy to decide whether an artifact gets to ship, and contributing to the open source projects (cosign, rekor, fulcio) that make it work. honestly, the teaching never stopped / mentoring engineers is my favorite part of the job. that, and getting software to show its work.


when i'm not tinkering at work or w/ my family, i'm out on a long bike ride or up too late making video game sounds. if you want proof of the latter, my bleeps + bloops are below.
Work
Industry
my day job is devops / platform / cloud infra work w/ liatrio. lately a good chunk of that has been autogov, the automated governance system we build there: artifacts ship w/ SLSA build level 3 provenance through github artifact attestations, and a go cli verifies those attestations (provenance, SBOMs, verification summaries) against OPA policy before anything is allowed to deploy. along the way i've contributed across the sigstore ecosystem (cosign, rekor, fulcio, timestamp-authority).
focus areas
- software supply-chain security / automated governance (autogov, SLSA, Sigstore)
- ai enablement / agentic workflows for engineering teams
- app modernization / CI/CD, containers, platform and cloud infrastructure / honestly anything infra + devops + sre for sure.
personal projects / built for fun
RPI K3s Cluster
The homelab: a four-node Raspberry Pi 4 Kubernetes cluster running k3s, hosting a UniFi controller, FileBrowser, a Ninjam server for remote jams, and a stack of media services (some public, some tucked behind Tailscale). It's where work ideas get tested before they're work ideas.
Lessons Learned
- Assume nothing
- Document everything
- It often pays to know and understand the why behind something working (or not working) before moving on
Ran-Jam
A full-stack web app built with React, Node.js, Express.js, MongoDB, and Tone.js that allows users to jam along with randomly created music. Users can also log into the app using Google oAuth to save their own musical jams.
Features
- Ability to save songs
- Pulls samples from the FreeSound API based on a search query
- Each experience is different with the generative element
- Choose from a variety of instruments
GeoMindr
A full-stack web app with an emphasis on the backend created with Node.js, Express.js, PostgreSQL, JavaScript, CSS, and HTML that allows users to text a Twilio number using IFTTT to then record a reminder and their GPS coordinates. This reminder gets saved in a database to be accessible at a later time either via the web interface or by messaging the same number to get a list of reminders. Bcrypt was used to hash the user's password while express-session was used to keep track of whether the user was still logged in or not.
Features
- Full SMS support through Twilio
- Create, retrieve, update, and delete reminders via SMS or web interface
- View public reminders via web interface
Parity
A front-end memory game created with JavaScript, CSS, and HTML where the user matches tiles based on pictures and sounds pulled randomly from two APIs (Free Sound and Unsplash Image) making every gaming experience unique.
Features
- Progressive level system that allows users to play 5 levels of increasing difficulty
- Match either image or sound; excellent for accessibility
- Change between themes after each level completion or failure
React-Cital Piano
A front-end synthesizer built using React and (Tone.js). The user is given 2 octaves to play with as well as sheet music and a metronome to better help them understand music theory.
Features
- Keys controlled via mouse or QWERTY keyboard
- Each key held down lights up pink to inform the user what keys are pressed
- Multiple keys can be pressed
Eggy McEggy
andFriends
A simple shoot'em up game created using Python and Pygame.
Features
- Ability to travel in all 2D directions (up, down, left, and right)
- Splash screen with instructions on how to play
- A score counter / multiple lives
Scales-O-
Rama
A simple python app that allows users to find scales based on inputted notes or randomly choose scales from a variety of musical modes.
Features
- Scales randomly chosen from major, minor, dorian, phrygian, lydian, mixolydian, and locrian scales
- The itertools module is used to flatten the dictionary of scales into values which then allow the scales to be randomized
- If the incorrect option is chosen, the user is alerted to enter either "lookup" or "random"
full history in the resume / say hi via contact.
Contact
i'm open to consulting / contract work. background in cloud infrastructure and devops / these days focused on software supply-chain security (getting software to prove where it came from). if it touches how software gets built, shipped, or trusted, i'm interested. tell me a bit about what you're working on and i'll get back to you.