# Shared State (Tandem)

Sync your product's UI state with the agent in real time, for two-way, state-aware experiences.

Where actions let the agent perform tasks, Shared State gives the agent eyes and hands inside your application. It creates a two-way sync between your app's UI state, such as a form or a settings panel, and the agent: the agent reads the current state of your UI in real time and writes changes back to it.

That makes the conversation and the screen one surface rather than two. The user can fill part of a form and ask the agent to finish it, or ask for a change and watch the panel update as it happens.

## Related

- [Shared State (Tandem)](/guides/shared-state/): the model and the API.
- [React meeting form](/guides/shared-state-react-meeting/) and [React filter panel](/guides/shared-state-react-filter/): worked examples.
- [Backbone](/guides/shared-state-backbone/) and [Vanilla JS](/guides/shared-state-vanilla/): the same pattern without React.
