DEV Community

Cover image for We Have Database Rollbacks. Why Don't We Have State Rollbacks?
PLC Creates
PLC Creates

Posted on

We Have Database Rollbacks. Why Don't We Have State Rollbacks?

We Have Database Rollbacks. Why Don't We Have State Rollbacks?

Backend systems treat data as sacred. Frontend systems treat state as
disposable.

That distinction no longer holds.

The Backend Discipline

On the backend, rollback is normal.

  • Transactions
  • ACID guarantees
  • Migrations
  • Backups
  • Rollbacks

We assume failure and design for recovery. We would never ship a
database without a way back.

Rollback is not an advanced feature. It is table stakes.

The Frontend Reality

On the frontend, the culture is different.

  • Autosave
  • Rehydration
  • Optimistic UI
  • Validation on submit

If the latest snapshot restores successfully, we tend to consider the
problem solved.

But restore does not mean recover.

SPAs Changed the Game

Modern SPAs are no longer thin clients.

They contain business logic, multi-step flows, derived state,
client-side validation, schema evolution, partial persistence, and
optimistic mutations.

In many applications, frontend state is not a temporary UI concern. It
is production data.

A multi-step form in a SaaS product.\
An admin dashboard with derived metrics.\
A rich editor with optimistic updates.

The client state holds business-critical transitions.

Yet it has no rollback discipline.

The Missing Primitive

Consider the difference.

Backend data lifecycle

Write → Validate → Commit → Rollback (if needed)

Frontend state lifecycle

Mutate → Autosave → Rehydrate → Validate on submit → ?
Enter fullscreen mode Exit fullscreen mode

If a restored snapshot turns out to be invalid:

  • There is no last known good state
  • There is no deterministic recovery
  • There is no versioned state discipline
  • There is no safe fallback

We retry.\
We clear the state.\
Or we hope validation catches the issue early enough.

Validation Is Not Recovery

Validation answers:

Is this state valid right now?

Rollback answers:

Can we return to a known good state after corruption?

Detection and recovery are different responsibilities.

The Structural Question

If we would not ship a database without rollback, should we be
comfortable shipping complex client state without it?

As frontend systems absorb more responsibility, perhaps our recovery
discipline should evolve with them.

Closing Thought

Client-side state now carries real business weight. As that
responsibility grows, so should the reliability expectations around it.

I have been exploring recovery patterns for client-side state and
refining a model around deterministic restoration. Curious how others
approach this problem.

Top comments (0)