GroupMe / Interaction & reliability / 2025
Feedback and responsive interactions.
Contextual feedback and optimistic poll updates that recover when a request fails.
The problem
Small interruptions add up: a vote feels unresponsive while it waits on the network, and reporting a problem is harder once the relevant screen has disappeared.
My contribution
- Implemented in-app feedback and a shake-triggered reporting flow with a confirmation step and screenshot context.
- Changed poll voting to update local state immediately, reconcile with the service on success, and roll back the applied change on failure.
- Fixed navigation, loading and layout issues alongside feature work, following behavior across the UI and data layers.
Technical decisions
Optimism needs a recovery path
Separated the local vote update from the network request. Preserved the previous state so a failed request could undo the local change rather than leave an incorrect vote on screen.
Keep feedback intentional
Used a confirmation sheet and a user-controlled setting for shake-triggered feedback, with limits to prevent repeated prompts.
Measure the feedback flow
Tracked submission, cancellation and failure separately so completing a report was distinguishable from merely opening the form.
The result
Poll votes appeared without waiting for the network response, with rollback on failure. People could start a contextual problem report from the screen they were using.
These are changes to interaction behavior. I do not attribute a measured network-speed improvement or support-ticket reduction to them.