Production Frontend
Shipping to browsers you do not control: deployment, feature flags, analytics, uploads, the API contract you consume — and the fact that a web client never updates atomically.
Source to build to artifact to CDN to a browser you do not control — and the deploy that breaks the tabs already open.
Production is running client v1, client v2 and backend v3 at the same time. There is no moment at which the frontend updates.
Evaluating a flag in a browser: the three states every flag has, the flicker while it loads, the flagged-off code still sitting in the bundle, and the rule that a flag is never an authorization boundary.
A named event with a stable schema answers a question. A firehose of clicks answers none — and carries personal data you did not mean to send.
Progress, cancellation, retry, validation and preview — per file, not per form — plus the pre-signed URL that keeps a two-gigabyte video out of your application server.
Pagination style decides whether infinite scroll is even possible. Granularity decides whether a screen is one request or nine. The error model decides whether you can say anything useful when it fails.
A server the frontend team owns, sitting between the browser and several backend services. Why a client asks for one — and what the team signs up for by running it.