Łukasz Siwek
A review-collection form that writes itself, and why that matters
(An interactive prototype at the bottom of the page ⬇️)
Most people who had a great experience in a store never leave a review. Most people who had a bad one do. If you run a local business, your Google profile is quietly skewed by the loudest voices, and the quietest ones are exactly the voices you need.
LocalZen hired me to design something that would tip that balance. A mobile web form, sent by email after a transaction, that would help satisfied customers write a Google review they would never write on their own. The product is whitelabeled, so to keep this piece easier to follow I used Decathlon as a stand-in brand throughout.
This isn't a tour of every screen. It's the handful of design decisions that mattered, and the reasoning behind them.
Writing a review takes effort. The returns are abstract. The person asking is a business, not a friend. For an unhappy customer, that effort is subsidised by emotion. They want to tell the story. For a satisfied one, there is no story. Just a normal day that went fine.
This is the core problem. You're not asking a motivated user to complete a task. You're asking an unmotivated user to perform an unpaid favour, on their phone, usually one-handed, probably on the bus.
Everything in the form has to be built around that fact.
Typing on mobile is the single biggest predictor of form abandonment. Every text input is a small ask. Stop, focus, compose a sentence, fight autocorrect. Multiply that by five fields and most people close the tab.
So I designed the whole positive-rating path with typing as fully optional. Every answer is a tap. There's one "Other" field on the categories screen where the user can type in a product that isn't on the list, and the final AI-generated review is editable if they want to tweak it. Both are skippable. The form completes end-to-end without the keyboard ever appearing.
The user's job is to confirm, not to compose. That reframes the whole interaction.
The strongest edit on any form is deletion. Any screen that doesn't change the output or build commitment is a dropoff point waiting to happen.
The positive path is six screens: rating, attributes, categories, tone, AI reveal, outro. Each one had to defend itself. If the final review would be meaningfully worse without this screen, it stays. Otherwise, it goes.
Two moves that followed:
A related decision: the form is whitelabeled across businesses, from sports retailers to burger places. The temptation is to let each brand splash itself across the screen. I went the other way. Only the logo and one accent color change. Aggressive branding on a form the user didn't ask to open reads as corporate noise. Restraint reads as respect for their time.
The AI in this form doesn't invent anything. It takes what the user tapped ("great service," "good price," "bought a bike") and arranges those into two sentences. The output is the user's own words, structured.
This matters because AI-written reviews have a known problem: they sound like AI. Google users have developed a sixth sense for it, and overly polished reviews get mentally discounted. So I built in three tones:
The casual tone is the one I pushed hardest for. That messiness is what makes a review look real, like something typed on a phone in a hurry. Polished sentences produce polished-looking reviews, which is the opposite of what the business needs.
I also chose tone selection over a "regenerate" button. Regeneration is a lottery. Tone selection gives the user a predictable lever, which means fewer attempts and a better first result.
The AI generation on screen 5 technically takes under a second. I made it take two to three.
The loader shows a short animated line, "we're dressing your choices in words…", with bouncing dots. The textarea sits empty but visible. Then the generated review types in word by word.
This is a deliberate application of the Labor Illusion, a psychological effect where people value a result more when they can see the effort behind it. Instant results get read as cheap and templated. Visible work gets read as considered. Research consistently shows that users rate slower interfaces with visible progress indicators higher than faster ones that return results instantly, even when the output is identical.
The same logic applies in reverse on the final screen. Confetti fires once for the happy path, because the system acknowledges effort. For the low-rating path, no confetti. The reward is tied to the kind of action, not to the fact of finishing.
The hardest moment in this form isn't inside the form. It's the handoff to Google Maps.
After the user approves their review, they're sent to Google to publish it. The review is copied to the clipboard automatically, but the user still has to pick stars again, tap into a text field, and paste. If they lose context during that transition, the whole flow was for nothing.
The final screen is designed almost entirely for that handoff:
None of the rules above are visible on paper. They live in motion.
A star that scales up for a split second when you tap it feels different from one that just fills in. A screen that slides in from the right feels like progress; one that cuts feels like a page reload. The three bouncing dots during AI generation feel like something is happening, even when technically nothing visible is.
Microanimations do three quiet jobs. They confirm that an action registered, so the user doesn't tap twice. They preserve continuity between screens, so the form feels like one object rather than seven. And they make the whole thing feel considered, rather than built from stock components.
For a form the user didn't want to open in the first place, "considered" is doing a lot of lifting.
Tap through the flow yourself. It works best with a mouse or on your phone.