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.