Jinsoo Yang · Site Reliability Engineer · Open to remote and overseas roles
I make incident response work the same no matter who is on call.
What gets me paged becomes something nobody gets paged for: runbooks, tuned alerts, and SLOs with error budgets, all written down.
01
Six problems I kept running into on call
Select a solution to see how it works.
Where I ran into them
5 yrsArmy Officer in charge of network support for military operations and a 24-hour surveillance network, in a country under armistice
24/7/365IBM Supported a global SOC run around the clock by teams across time zones
ProblemWhat I built
ProblemFollow-the-sun teams need two clocks in sync: the service's, and every office's.What I builtEverything in UTC, with each team's local time and offset on top.
How it works
Every timestamp is stored and shown in UTC.
The top strip turns it into each region's local time and offset, marks the viewer's region, and counts down the current shift.
Shifts are defined in one file (APAC 00–08, EU 08–16, US 16–24 UTC).
ProblemCustom detection rules and metrics go stale, lose their history, and nobody knows which are still used.What I builtA Git repository as the single source of truth: edits open a PR from the console, and every metric shows where it is used.
How it works
Alert rules, SLO rules and runbooks live in a Git repository. Edits in the console open a pull request, and apply after review, merge and the GitOps sync.
CI checks that every alert has a runbook (53 of 53).
The metric inventory reads metric names from every rule and dashboard, and marks each metric as in use, unused, or broken (referenced but not collected).
ProblemWhen the on-call person changes, so does the quality of the response.What I builtRunbooks for every alert, and a Kagent-based AI agent that briefs the situation and the next steps.
How it works
When an incident is declared, the agent reads the incident, its runbooks and live metrics.
It writes a briefing: situation, impact, likely cause with confidence, a severity suggestion, and next steps tied to runbook steps, each with a query to run in place.
Changes run only after the incident commander approves; the agent can't change the cluster itself. Kagent in the lab, the same tools built in for the public demo.
ProblemHandoff quality varies, and the next shift ends up calling the last one.What I builtA fixed handoff format that the incoming shift acknowledges.
How it works
The outgoing shift in one view: each incident's states on a timeline, plus alerts, deploys and changes.
What got worse and by how much, and a card per open incident with its next step and a note.
Written → handed over → acknowledged by the incoming shift.
ProblemIncidents and alerts arrive at the same time.What I builtA priority score that suggests what to handle first, and correlated alerts merged into one incident.
How it works
Each alert is mapped to a component. It joins an open incident that has an alert firing on the same or a directly linked component; otherwise it starts a new candidate.
Probable cause: the member the others depend on.
Score = SLO budget at risk + downstream impact + age + trend, with the breakdown one click away. The incident commander can merge candidates by hand.
Site reliability and security engineer. I run blockchain nodes on Kubernetes and the cloud, put them behind alerts and SLOs, and write down what breaks.
Nodes I run
L2 rollup
Lineth L2
Local L1 (Besu, Teku) and an L2 rollup · One Kubernetes node (kind), GitOps
Sequencer, coordinator, prover, bridge, RPC; SLOs, alerts and postmortems