Sensitive Data Encryption — Module Design and Migration Retrospective

A retrospective on column-level encryption of sensitive data in a running service. Envelope encryption, DEK granularity decisions, the WHERE clause constraint that led to HMAC, and the migration automation Skill that spread the work across the org.

January 15, 2026 · 5 min read

Internal Hackathon Retrospective — 1st Place

A retrospective on the internal hackathon. How an idea I proposed evolved with the team into a 1st-place project and an internal launch — and the starting point for using AI tools in earnest.

January 5, 2026 · 3 min read

Profitability-Based Traffic Throttling Retrospective

Retrospective on building a system that automatically identifies low-performing SSP inventory and throttles traffic to improve contribution margin. Covers the evolution from Imp Cost Ratio to a predicted contribution margin rate approach.

October 15, 2025 · 3 min read

LR-based ML Lifecycle Retrospective

Building my first ML Lifecycle — a three-tier architecture for an ad Fallback CTR prediction — as a backend engineer without an AI background. The technical decisions I made, and what I learned through running it.

March 10, 2025 · 4 min read

Ad System Outage Retrospective — A Shared Dependency and a Single Point of Failure

An external event drove ad traffic far above normal, triggering a cascading failure. The real problem was that the filtering component was a single point of failure — and the fallback sat on top of it too, so one collapse pulled both down at once. The fix took three paths: removing the fallback’s dependency (independence), adding rate limiting to the component itself (protection), and reconsidering the runtime (throughput).

February 13, 2025 · 7 min read

The Blind Spot in Deploy Change Verification — Campaign Cache Incident Retrospective

The deploy was two days old, and the metrics had been calm the whole time. The moment we turned off the cache refresh batch, ad serving stopped. A retrospective on the missing verification of what a deploy actually changed.

November 27, 2024 · 3 min read

Ad Fallback Server Design Retrospective

Designing a Nest.js-based fallback server while removing a legacy ad server. Why a horizontal layered architecture fit better than Nest.js’s default vertical module slicing for a single API with complex business logic.

February 28, 2024 · 3 min read

Cache Refresh Optimization Retrospective

How I reduced network costs and enabled instance downscaling by switching from full cache refresh to incremental refresh for campaign configuration data.

January 15, 2024 · 2 min read

Two-Layer Control Loop for Ad Budget Pacing — Retrospective

A retrospective on moving ad budget pacing from a fixed-rule scheme to a two-layer control loop — per-campaign learning sets the baseline, real-time correction absorbs drift.

August 21, 2023 · 3 min read