Ratings and Reviews
Show real customer opinion on an item instead of asking buyers to take your word.
What it adds
A star rating and written review per item, with a stored aggregate shown alongside the item and a moderation step before publication.
What your agent is told to do
5
What your agent is told to do
5-
1
Show the aggregate where the item appears: an average, a count, and a breakdown by star level. Read that from a stored aggregate on the item, updated as reviews change, not from an aggregate query over the review table on every page render.
-
2
Decide who is allowed to review and enforce it server-side. Restricting reviews to verified purchasers is the single change that most improves trust and most reduces spam.
-
3
Route new reviews through the app's existing Moderation Queue and reuse AI Text Content Moderation if it is present, rather than adding a second approval inbox. Do not build a parallel review-approval screen.
-
4
Wire the existing Content Reporting feature to reviews so a published review can be flagged by other users, and give the item owner a single public reply per review rather than an open thread.
-
5
Do not let the owner delete or hide individual bad reviews. A review system the owner can curate is worthless to the reader, and shows up as a suspiciously perfect average.
Edge cases it handles
8
Edge cases it handles
8- Recomputing an average by scanning every review on each write will be fine at ten reviews and will time out at fifty thousand. Keep a running count and sum on the item and update them transactionally with the review.
- The same buyer must not be able to leave a second review on the same item. Enforce it with a uniqueness constraint in the database, not just a check in the controller, or concurrent submissions will slip through.
- New reviews must not appear publicly until they have passed moderation, and the author must still see their own pending review so they do not submit it again.
- When an author deletes their account or is anonymised, the review text should survive with the byline replaced. Cascading the delete silently removes evidence and changes the average.
- Editing a review from four stars to one, or deleting it, must adjust the stored aggregate by exactly that difference. A drift bug here is invisible until the displayed average stops matching the reviews on screen.
- An item with one five-star review must not be presented as better than an item with four hundred reviews averaging 4.6. Show the count wherever the average is shown.
- Review bodies accept pasted markup, links, and contact details. Escape on output and strip links from unverified authors, or the reviews become an advertising channel.
- A rejected review needs a reason sent to the author. Silent rejection reads as a bug and gets resubmitted.
Definition of done
9
Definition of done
9- Each item shows an average, a total count, and a distribution across star levels.
- The aggregate is stored and updated incrementally, with no full scan of reviews on write.
- A second review from the same author on the same item is rejected by a database constraint.
- New reviews are held in the existing moderation queue and are invisible publicly until approved.
- Editing or deleting a review leaves the stored average and count exactly correct.
- Deleting an author's account preserves the review text with an anonymised byline.
- Owners can reply publicly to a review but cannot remove or hide one.
- The feature matches the existing design system.
- No existing functionality is broken.
Related features
Digital Business Card
Digital Business Card
Give every member a shareable card page with their photo, links, and save-to-contacts.
What it does
A per-member public card page with photo, role, links, and a download that imports into a phone's contacts.
How it works
- 1 Build this as a presentation of the app's existing Public Profile Pages, not a second profile. One record, two layouts. A member who updates their title should not have to update it twice.
- 2 Take the photo from Avatar Upload rather than adding a new image field, and reuse the crop and compression the app already applies so a card photo is not a full-resolution original served to every visitor.
- 3 Give each card a save-to-contacts download containing the fields the member has chosen to publish, and nothing else. Everything on the card and nothing beyond it.
Copy the prompt
No account needed
Add this feature to my app:
https://addthisfeature.com/x/digital-business-card
Share Image Generator
Share Image Generator
Give every shared link a proper preview image instead of a blank card.
What it does
Server-side generation of a per-page preview image, referenced by the page's existing share metadata.
How it works
- 1 Find where the app already sets its share metadata, most likely alongside Social Sharing or Shareable Deep Links, and point the image tag at the generated URL rather than adding a parallel metadata block.
- 2 Generate the image on the server from the record's own title, author, and a brand mark. Do not render it in the visitor's browser; the services that fetch previews do not run scripts.
- 3 Design one template that degrades well, then add variants only where the content type genuinely differs. Three good templates beat a configurable layout engine nobody tunes.
Copy the prompt
No account needed
Add this feature to my app:
https://addthisfeature.com/x/share-image-generator
Highlight Clip Maker
Highlight Clip Maker
Turn a selected passage of a transcript into a short clip that can be shared.
What it does
Selection of transcript lines that renders a trimmed, captioned clip of the source media with a shareable link.
How it works
- 1 Build the selection on top of the app's interactive transcript. The user selects a run of lines, sees the resulting start and end time and duration, and adjusts the edges before rendering.
- 2 Render clips through the app's existing background job system so the user is not held on a progress bar, and notify them through the existing notification centre when the clip is ready or has failed.
- 3 Burn the transcript text into the clip as captions, since most places a clip is shared autoplay it silently. Give the user a way to turn captions off before rendering.
Copy the prompt
No account needed
Add this feature to my app:
https://addthisfeature.com/x/highlight-clip-maker
How it works
-
1
Copy the link
Grab the Markdown instruction URL for this feature.
-
2
Give it to your AI
Paste it into Claude Code, Cursor, v0, Lovable — whatever you build with.
-
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.