Programming tutorials
Choose a subject and follow its lessons.
Navigation, History, and Page Lifecycle
Preserve URL state, focus, scroll, and fresh data across route transitions and browser restoration.
API Mutation and Failure Contracts
Prevent lost writes, bound retries, expose long-running work, and make errors usable by clients.
HTTP Delivery and Cache Ownership
Match response reuse, variants, and resource priority to public and private content.
Streaming and Large Data Interfaces
Process large responses incrementally with bounded memory, cancellation, and honest completion states.
Complex Accessible Interactions
Choose native semantics where possible and define focus, keyboard, and pointer alternatives for custom controls.
Production Signals and Incident Decisions
Connect a failed user action to bounded telemetry, service objectives, and a tested containment decision.
Cross-Tab and Offline Data Coordination
Reconcile browser contexts and disconnected edits without mistaking local state for server truth.
Authorization and Tenant Boundaries
Enforce each action on its actual record and carry tenant scope through caches, workers, and exports.
Data Retention, Export, and Erasure
Track where private data persists and make export, expiry, and deletion outcomes verifiable.
Browser Capabilities and Permission Lifecycle
Request device and sharing capabilities only when a user needs them, then end their use predictably.
Overlays, Scroll, and Mobile Viewport
Keep focused controls visible and usable across stacking, nested scrolling, gestures, and keyboards.
Accessible Content and Media
Carry image, chart, audio, video, and page structure meaning into equivalent readable paths.
