SYS.05 — OPERATOR
I learn systems by running them.
It started with a hypervisor at home, went through a service desk, and kept going by building: a VPS, and now a Kubernetes cluster on bare metal. I work with Claude Code, as a tool and as a tutor — and whatever I run, I can explain.
AVAILABLE— Open to junior DevOps and platform roles
OPERATOR
- NAME
- Tim Seil
- ROLE
- Junior DevOps
- BASE
- Luxembourg · UTC+1
- PRIMARY
- Kubernetes · GitOps
- ROUTE
- Self-taught, from the lab up
- TOOLING
- Claude Code
- contact@timseil.dev
01Homelab
This starts at home and not at work: hardware in a cupboard and a hypervisor on it, machines to take apart on purpose. It is what made the service desk possible — the job came after the lab rather than the other way around, and the lab is still running.
PICKED UP
02Helpdesk
Then the service desk, and not a degree: other people's machines, other people's deadlines, and a queue that does not care which layer the fault is in. It is where the habit of reading the error before guessing at it comes from.
PICKED UP
03First website
The first thing built rather than repaired: a storefront on Shopify Hydrogen, put together with an AI assistant at hand. It taught the shape of a modern front end, and that a page which works on a laptop has not yet met a certificate, a cold cache or a slow connection.
PICKED UP
04Own VPS
One VPS instead of a hosted platform: the proxy, the certificates, the logs and the restarts are mine. The site you are reading is that machine describing itself — every figure on it comes from the system that produces it, and the outages are written down rather than waited out.
05Talos lab
Kubernetes without a shell underneath it: an immutable, API-driven operating system, an address pool of its own, and a repository the cluster reads instead of a console I click. The lab is where that stack was learned while nothing depended on it yet.
PICKED UP
NOWBare-metal cluster
The same stack on hardware I own, and the system the role on this page rests on: declared in Git, reconciled by Flux, with the database and the backups run as operators. It is in build and not live, because nothing public is measured on it yet — and on this site a state is a measurement rather than a feeling.
PICKED UP
SHIPPED
01 talos-prod
BASE
Talos · Kubernetes
NETWORK
Flannel · MetalLB
EDGE
Cloudflare Tunnel · Traefik · cert-manager
DELIVERY
Flux · SOPS
DATA
CloudNativePG · Velero
WATCH
kube-prometheus-stack
Read the source before the docs
Documentation tells you the intent. The code tells you the behaviour. When the two disagree, production follows the code.
Ship it where it can break
A project on a laptop teaches you syntax. A project on a public address teaches you timeouts, certificates, backups, and your own blind spots.
Measure before you claim
Every number on this site has something producing it. If I cannot point at the source, the number does not go up.
Write the incident down
The outage is not the interesting part. The cause, the fix, and the thing I would set up differently next time are what carry over.