Second Track — Outside Client Work

Engineering Journey

My professional work is building React.js, Next.js, and TypeScript applications. Outside client work, I'm deliberately learning the systems that keep software running in production — Linux automation, deployment, infrastructure, and CI/CD. I don't have professional DevOps experience. This page documents that journey honestly, with every item marked Completed, In Progress, or Planned, and updated as it actually changes.

I don't want to memorize deployment commands — I want to understand why they exist.

I don't want to copy a Dockerfile — I want to know why each layer is there.

I'm not trying to become a DevOps Engineer overnight — I want to become a software engineer who understands production systems.

That's why most of what's below is labeled In Progress or Planned instead of a wall of green checkmarks — it's the accurate picture right now, not a placeholder for something else. Frontend is still my main craft; this is where I practice being useful past the browser.

Linux Automation

Daily-driver Linux workflow, dotfiles, and workstation provisioning scripts.

In Progress

Ubuntu Dotfiles

Packaging my GNU Stow–managed dotfiles into a documented, public repo.

Why: I rebuild or reconfigure my environment often enough that redoing it by hand every time was wasting real hours — I wanted one command to get back to a working setup.

  • Daily-driver Ubuntu setup already managed with GNU Stow.
  • Currently cleaning up and documenting the repo so it's reproducible on a fresh machine.
Ubuntu
GNU Stow
Bash
Git
In Progress

Linux Automation

Bash scripts that provision and sync my Ubuntu workstation end-to-end.

Why: Manually re-provisioning a machine after every fresh install or migration got old — I wanted the setup scripted and repeatable instead of remembered.

  • Automates fresh-install setup — packages, shell config, SSH, and dotfiles.
  • Built to be one-command migration-ready when moving to a new machine.
Bash
Ubuntu
SSH
rsync

Deployment

Practicing real deployment workflows beyond one-click platform deploys.

In Progress

Deployment Lab

A personal environment for practicing real deployment workflows.

Why: I wanted to understand deployment beyond a Vercel one-click deploy — what actually happens between a git push and a server serving traffic.

  • Base setup for the Docker, CI/CD, and VPS work below.
  • Goal: understand deployment beyond one-click platform deploys.
Ubuntu

Infrastructure

Containers and servers I'm learning to run and manage myself.

Planned

Docker

Containerizing a real project end-to-end.

Why: I want to understand why each layer of a Dockerfile exists, not copy one from a tutorial and hope it works.

  • Not started yet — comes after the Deployment Lab groundwork is in place.
Docker
Planned

VPS Deployment

Deploying and running a project on a real, self-managed VPS.

Why: I want to prove to myself I can run something on infrastructure I actually manage, not just platforms that manage it for me.

  • Not another one-click platform deploy — a real server I manage myself.
Ubuntu VPS

CI/CD

Automated build, test, and release pipelines.

Planned

CI/CD Pipeline

Setting up an automated build-test-deploy pipeline for a personal project.

Why: I want to understand what a pipeline actually automates, instead of only ever clicking through a hosted platform's dashboard.

  • Not started yet — planned once the Docker and VPS Deployment basics are in place.
GitHub Actions

Case Studies

Written breakdowns of real problems solved and what I learned from them.

No case studies published yet — the first write-up lands once the Deployment Lab work is further along.

Engineering Notes

Short, dated notes from this second track as it develops.

Nothing published here yet — this section fills in as real work lands.