AddThisFeature

Autosave

Stop people losing work in your forms and editors.

involved User Experience

What it adds

Save the user's work automatically, and tell them honestly when it is and is not saved.

What your agent is told to do

4
  1. 1

    Find the long-form inputs and editors — anywhere a user can lose more than a few seconds of work.

  2. 2

    Debounce saves (roughly 1–2s after typing stops) and also save on blur.

  3. 3

    Show save status honestly: unsaved, saving, saved, or failed. Never show 'Saved' while a request is in flight or has failed.

  4. 4

    Keep a local draft so a crash or a closed tab does not lose content.

Edge cases it handles

5
  • The network drops mid-save — retry with backoff and keep showing 'unsaved'.
  • The user closes the tab with unsaved changes — warn via beforeunload.
  • Two tabs edit the same record — detect the conflict instead of silently overwriting.
  • The record is deleted by someone else mid-edit — surface that.
  • A very large document — do not send the entire payload on every keystroke.

Definition of done

7
  • Work is saved without the user pressing anything.
  • Save status is always accurate, including during failures.
  • A dropped connection does not lose work; the save retries.
  • Closing the tab with unsaved changes warns the user.
  • A local draft survives a refresh or crash.
  • The feature matches the existing design system.
  • No existing functionality is broken.

Related features

How it works

  1. 1

    Copy the link

    Grab the Markdown instruction URL for this feature.

  2. 2

    Give it to your AI

    Paste it into Claude Code, Cursor, v0, Lovable — whatever you build with.

  3. 3

    It inspects, then implements

    Your agent reads your existing app first, then adds the feature to fit it.

Works with your stack

These instructions are written to adapt. They tell the agent to detect your framework, match your existing design system, and reuse what you already have — rather than assuming a particular stack.

Need it tighter than that? Customize the feature and tell it exactly what you're running.