'use client' import Link from 'next/link' import { ArrowLeft } from 'lucide-react' import { motion } from 'framer-motion' const skillCategories = [ { title: 'Infrastructure & Orchestration', skills: ['Kubernetes (Talos Linux)', 'ArgoCD (GitOps)', 'Terraform (IaC)', 'Kustomize'], }, { title: 'Networking & Ingress', skills: ['nginx Ingress Controller', 'Cloudflare Tunnel', 'CoreDNS', 'NetworkPolicy'], }, { title: 'Storage', skills: ['Longhorn (distributed block)', 'MinIO (S3-compatible)'], }, { title: 'Databases', skills: ['CloudNativePG (PostgreSQL)', 'pgvector (AI embeddings)'], }, { title: 'Identity & Security', skills: ['Authentik (OIDC SSO)', 'SOPS (encrypted secrets)', 'cert-manager (TLS)'], }, { title: 'Observability', skills: ['Prometheus', 'Grafana', 'Tempo (tracing)', 'OpenTelemetry', 'Loki (logs)'], }, { title: 'CI/CD', skills: ['Forgejo (git + Actions)', 'Container Registry', 'DinD Runners'], }, { title: 'AI/ML Platform', skills: ['vLLM (Qwen3-32B)', 'Ollama', 'TEI (embeddings)', 'KServe'], }, { title: 'Workflow & Messaging', skills: ['Temporal (durable workflows)', 'Kafka/Redpanda (streaming)'], }, { title: 'Languages & Frameworks', skills: ['Go (API gateway)', 'Python (ML)', 'Next.js (frontend)'], }, ] export default function HomelabPage() { return (
Back to Projects {/* Hero */}

Building AWS at Home

A 3-year journey through distributed systems, from Step Functions to LLM inference.

There's a difference between knowing how systems work in theory and building them in production. I've spent the last 3 years learning this difference the hard way—first at AWS, then at RBC, and now at home. This is the story of how I learned distributed systems by owning every layer: from workflow orchestration to hardware networking, from GitOps to AI agents.

{/* Chapter 1: Homelab */}
The Journey

Homelab: Building AWS from Scratch

May 2025 – Present

The question: How does LLM serving work at scale? The only way to answer that was to build an entire cloud-like platform with SaaS fundamentals from scratch. 4 bare-metal machines, 1 GPU node, 1 Dell PowerEdge (now in the garage due to noise), and 2 mini-desktops. All running Talos Linux, a Kubernetes-native OS designed for immutability.

{/* Infrastructure section + diagram */}

Infrastructure Layer

4-node bare-metal cluster (3 control plane + 1 worker) running Talos Linux—immutable, API-driven OS designed for Kubernetes. All wired ethernet to avoid etcd consensus issues.

  • Compute: Talos Linux nodes, machine config via Terraform
  • Networking: Cilium CNI, nginx ingress, Cloudflare Tunnel for zero-trust external access
  • Storage: Longhorn for distributed block storage with disk tagging, MinIO for S3
  • GitOps: ArgoCD with multi-source Applications and sync waves
{/* Cluster Topology Diagram */}

Talos Cluster Topology

Control planes, worker GPU, storage, and networking architecture