Build a temperature converter with two fields — Celsius and Fahrenheit — where editing either one instantly updates the other. It's a small widget, but it teaches a sharp lesson: when two inputs are two views of the same quantity, neither can be the sole source of truth. Whichever field the user is typing in is the one driving; the other is computed from it.
// A self-contained component. No props.
function App(): JSX.Element;
Two number inputs; typing in one recomputes and fills the other via F = C × 9/5 + 32.
type 100 in Celsius → Fahrenheit shows 212
type 32 in Fahrenheit → Celsius shows 0
type -40 in either → the other also shows -40
clear a field → both clear (don't snap to 0)
C → F : F = C * 9/5 + 32
F → C : C = (F - 32) * 5/9
''. Number('') is 0, so guard it — a cleared field should clear its partner, not fill it with 0.