Public Profile Pages
Give users a page worth sharing.
What it adds
A public, shareable profile page per user, with control over what's visible.
What your agent is told to do
4
What your agent is told to do
4-
1
Give each user a public URL with a slug they choose, not a database ID.
-
2
Let the user decide what appears — default to private and let them opt in.
-
3
Make the page work signed-out, and give it proper SEO and share metadata.
-
4
Show the owner a preview of how others see it.
Edge cases it handles
4
Edge cases it handles
4- Slugs must be validated and reserved — nobody gets /admin, /settings, or /api.
- Changing a slug must not silently break existing links; redirect the old one.
- The page must never leak private fields (email, billing, internal notes) — build it from an explicit allow-list, not by hiding fields.
- A deactivated or banned user's profile must stop rendering.
Definition of done
7
Definition of done
7- Each profile has a user-chosen, validated, reserved-word-safe slug.
- The page is built from an explicit allow-list of public fields.
- It renders correctly signed-out with proper share metadata.
- Old slugs redirect after a change.
- The owner can preview and control what's public.
- The feature matches the existing design system.
- No existing functionality is broken.
Related features
Signed Share Links
Signed Share Links
Share one private item with someone outside the app, without giving them an account.
What it does
Signed capability URLs scoped to a single record and a fixed set of actions, with expiry and revocation.
How it works
- 1 Generate links as unguessable signed tokens stored server-side, so a link can be revoked without rotating a global secret.
- 2 Scope each token to one record and an explicit action set — view, comment, download — and check that scope on every request the link serves.
- 3 Require an expiry at creation with a sane default, and give the owner a list of live links showing what each grants, when it was made, and when it was last opened.
Copy the prompt
No account needed
Add this feature to my app:
https://addthisfeature.com/x/signed-share-links
Social Sharing
Social Sharing
Make your links look good when someone posts them.
What it does
Open Graph tags, share buttons, and preview images so shared links don't render as bare URLs.
How it works
- 1 Add Open Graph and Twitter Card tags to every publicly shareable page, with a title, description, and image.
- 2 Generate a preview image per record where it makes sense, rather than one generic image for the whole site.
- 3 Add share actions that use the native share sheet on mobile and copy-link on desktop.
Copy the prompt
No account needed
Add this feature to my app:
https://addthisfeature.com/x/social-sharing
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
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.