Technical Decisions

Staff-level trade-offs behind FluxRun

These are the decisions that make the product defensible in an interview: safe replay semantics, clear trust boundaries, durable ingest, practical storage, and a focused product loop.

Decision notes

The important choices and their trade-offs

Each decision below is intentionally short enough to discuss in an interview without turning the page into internal documentation.

Boundary-based replay, not full VM replay

Why it matters

A backend debugging tool needs a safe adoption path. Recording supported boundaries makes replay explicit, testable, and easier to explain than trying to virtualize every host API.

Trade-off

Unsupported APIs must fail clearly or move behind fluxHost instead of being magically replayed.

Cloudflare Workers for the control plane edge

Why it matters

Auth, management, query, usage, and alert APIs benefit from low-latency global routes and operationally simple deployment.

Trade-off

Heavy ingest and storage work stays in Golang services instead of forcing every path into Workers.

Golang services for data-plane reliability

Why it matters

Ingest durability, batching, WAL behavior, object storage writes, and query backends need predictable long-running service behavior.

Trade-off

The system has more moving pieces than a pure serverless app, but the reliability boundary is clearer.

OCI Object Storage for execution payloads

Why it matters

Execution traces can be large and retention-driven. Object storage keeps payload volume out of relational tables while preserving durable artifacts.

Trade-off

Query APIs need summary indexes and cache paths so the dashboard remains fast.

Svelte for product UI iteration

Why it matters

The dashboard needs dense execution workflows, fast iteration, and clear state rendering more than a heavy component platform.

Trade-off

The team must keep components disciplined so investigation pages do not become one-off UI experiments.

Agent route for sensitive replay actions

Why it matters

Private keys and protected payload unlock stay customer-controlled, which makes production data conversations more credible.

Trade-off

Replay depends on an agent URL and CORS/auth setup, so onboarding must make agent readiness obvious.

Operating principles

How I kept the system coherent

The hardest part of a staff-level project is not adding more moving pieces. It is keeping product scope, technical boundaries, and operational behavior aligned.

Narrow promise

Capture production backend failures and replay them safely. Do not dilute the product into generic observability.

Explicit boundaries

Anything with real side effects must cross a recorded boundary or be rejected as unsupported.

Proof over posture

Each system choice should help one interview proof: capture, replay, protect, or operate.

Product trade-off

The first version optimizes for one replayable backend path instead of every observability use case.

Data trade-off

Summaries stay queryable while larger encrypted payloads live in object storage.

DX trade-off

Adapters reduce integration friction, but host-side resources still require explicit fluxHost boundaries.