Independent lab · not an employer deliverable
Shipyard
Progressive Delivery and Feature Flags
Evaluate flags for sample cohorts, move a rollout through stages, and kill-switch a simulated bad release.
Jump to interactive demoProblem
Shipping a binary to production is not the same as exposing a feature. Shipyard separates deploy from release: flags, cohorts, health gates, and rollback on a sample population.
Interactive demo
Sample users, flags, and health series. No live customer traffic.
New ranking path for catalog search.
Would be ON — Enabled: cohort allowed and bucket 18 ≤ 25%.
Exposure on the fixed sample of 4: 2 would receive the flag.
Health · p95 180 ms · errors 0.7%
Seeded series within demo thresholds.
Gate passed
- 2026-10-29T07:00Z — Loaded production flag documents (demo).
Architecture
Each environment holds its own flag documents. Evaluation hashes a sample user into a bucket and applies targeting rules. A synthetic error/latency series backs a health gate. Rollback writes history. No live traffic is observed.
Environment → flag document → cohort and percentage evaluation → exposure estimate → optional health gate → rollback or continue.
Decisions
- — Keep development, staging, and production configurations isolated.
- — Explain every audience decision from deterministic targeting plus rollout percentage.
- — Treat kill-switch as an immediate disable that still records history.
Trade-offs
- — Percentage rollouts limit blast radius and they create split-brain behavior across users.
- — Health gates stop bad releases and they can halt a rollout on noisy synthetic errors.
- — Per-environment flags prevent accidental prod changes and they drift if not reviewed.
Failure modes
- — A user outside the targeted cohort stays off even at 100% if the rule excludes them.
- — Simulating the incident fixture trips the health gate on the selected flag.
- — Rollback disables the flag in the current environment only.
Evaluation
Exposure estimates use a fixed sample population. Health uses a seeded series. Both are demo calculations.
Production extensions
Proposed — not implemented in this portfolio.
- — Back evaluation with a real flag service and consistent hashing.
- — Join release health to production SLOs and automated hold.
- — Add change tickets and approval gates for production flags.
TypeScript · Node.js · CI/CD · feature flags · observability · release engineering