Roles: Rive Animation · Motion Design · Concept
Tools: Rive
The product analyzes a dating conversation and surfaces the red flags inside it. That read takes a few seconds, and a loading state is exactly where users drop off. The screen holding the wait says "Uploading… do not exit the app." The client didn't want a stock spinner sitting there on a dark screen, so we built the wait itself into something worth watching.
We made the loader the product's idea, made literal. The app checks for red flags, so the thing you watch while it works is a flag. A small banner ripples on a cloth-style wave while an animated gradient travels across the fabric, deep reds bleeding into gold with a glowing green edge, and a soft halo pulsing behind it. The color shifts as the app reads the room.
The whole piece is built from vectors in Rive rather than exported as video, so it stays razor-sharp at every screen density and ships as a single runtime file of roughly 85KB. It loops seamlessly for any upload length, runs natively at 60fps, and drops straight into the iOS build with no heavy asset to load. On completion the motion carries through into the result, so one piece of animation does the work of both a loading indicator and a transition.
The slowest moment in the flow became one of the most considered. Detail in the dead moments is what makes an app feel crafted, and a loader nobody should have to remember was made worth a second look.
Like this project
Posted Jun 5, 2026
A color-shifting waving-flag loader for a dating-safety app. Built in Rive, so it's vector-crisp, ~85KB, and runs natively at 60fps.