Mobile and web backends rarely migrate a database in one atomic step — instead they run the “expand–contract” pattern: add the new store, dual-write to both, backfill the history, verify, then cut over. This 2D diagram renders 160 live records as two grids of cells — an old store and a new one — and runs a real backfill worker between them while simulated traffic keeps writing, with copies drawn as arcing dots between the grids. Switch between an optimistic compare-and-swap backfill strategy, which self-heals by retrying any record a write raced against, and a naive blind-overwrite strategy, which silently loses the newer value and flashes a real conflict. Tune the write rate, backfill rate and the exact read-to-commit race window to open or close the race, and watch the live lag/retry/conflict history chart respond underneath the grid. Drag the grid to pan and scroll to zoom.