The edge of the app

Everything arriving from outside is untrusted. Break one link at a time and watch where the chain stops and what the screen shows.

Tap a part of the diagram to open that step.

The whole boundary

Network → status → parsing → shape → existence → a single state on screen. Every stage returns a named outcome instead of a bare null, so the interface always knows what exactly went wrong and what to show.

What's inside

  1. 1 The request may never leave — The chain stops here. Nothing below is even attempted.
  2. 2 An answer is not yet data — Parsing without checking the status is how an error page becomes a crash inside a component.
  3. 3 The shape is checked once — One check at the boundary replaces defensive checks in every place the data is used.
  4. 4 Well-formed does not mean it exists — "Not found" and "something broke" must never look the same to the caller.
  5. 5 One state at a time — Separate flags allow combinations nobody designed. A single field does not.

Explorable Explanations

1 / 5