Key insights
- Swipe actions are invisible UI. Without an affordance hint (a peek of the action on first scroll, an onboarding nudge), most users never discover them.
- Destructive swipes need friction: a full swipe that instantly deletes is a data-loss bug waiting to happen. Reveal the button on partial swipe, require a tap (or full-swipe + undo toast) to commit.
- Color-code by consequence: neutral actions on surface tones, destructive on red — and keep the mapping consistent across every list in the app.
- Never make swipe the only path. Every swipe action needs a visible fallback (long-press menu, detail-view button) for discoverability and accessibility.
Do / Don't
- Do: pair each swipe action with an undo window, and keep left/right semantics consistent app-wide.
- Don't: hide more than two actions per side — beyond that, users can't build muscle memory.