Shareable Deep Links
Let people copy a URL that reopens exactly what they were looking at.
What it adds
Encode the current record, tab, filter set, and selection in the URL so a copied link restores the same view for whoever opens it.
What your agent is told to do
5
What your agent is told to do
5-
1
Audit the app for view state that currently lives only in memory: active tab, applied filters, sort order, expanded rows, selected items, scroll target.
-
2
Move that state into the URL and make the app read it back on load, so a pasted link reconstructs the view rather than dumping the user on a default screen.
-
3
Add a visible copy-link affordance on every view that supports it, and confirm the copy so the user knows it worked.
-
4
Key the URL on stable identifiers, never on display names or labels — a renamed project must not break every link anyone has shared.
-
5
Do NOT put draft text, unsaved form input, search history, or anything with personal data into the URL. URLs end up in logs, referrers, and chat clients.
Edge cases it handles
6
Edge cases it handles
6- A link to a deleted or archived record must say so plainly and offer a way back to the list, not throw a 404 with no context.
- A recipient without permission must get an access message that does not disclose the record's contents or name.
- Complex filter state can outgrow practical URL length. Compress it, or persist the view server-side and put a short key in the URL.
- Old links must keep working after a filter is renamed or removed. Ignore unknown parameters instead of erroring.
- Updating the URL as the user changes filters must use replace, not push, or the back button becomes a filter-by-filter rewind.
- A link opened by a signed-out user must survive the sign-in round trip and land on the intended view.
Definition of done
8
Definition of done
8- Copying a link and opening it in a fresh session reproduces the same tab, filters, sort, and selection.
- Links are built from stable IDs and survive renames.
- No draft content or personal data appears in any URL.
- Deleted, archived, and forbidden targets each have their own message and a next action.
- Unknown or stale URL parameters are ignored rather than fatal.
- Filter changes do not flood the browser history.
- The feature matches the existing design system.
- No existing functionality is broken.
Related features
Deep-Linkable Modals
Deep-Linkable Modals
Make dialogs and detail panels linkable without losing the page behind them.
What it does
Modals and detail panels that live at their own URL, so they can be shared, bookmarked, and closed with the back button.
How it works
- 1 Pick the overlays worth linking — record detail, edit forms, share dialogs — and give each one a real URL.
- 2 When that URL is opened directly, with no page underneath, render the content as a full page instead of an overlay floating on nothing.
- 3 Make the browser back button close the modal and leave the user on the page they were on, not two steps back.
Copy the prompt
No account needed
Add this feature to my app:
https://addthisfeature.com/x/deep-linkable-modals
Tabs
Tabs
Split a crowded page into sections without another route.
What it does
Accessible tabbed sections, with the active tab reflected in the URL.
How it works
- 1 Use tabs for alternative views of the SAME thing. If the content is unrelated, it wants a separate page.
- 2 Put the active tab in the URL so a tab can be linked, bookmarked, and survives a refresh.
- 3 Implement the WAI-ARIA tabs pattern: arrow keys move between tabs, Tab moves into the panel.
Copy the prompt
No account needed
Add this feature to my app:
https://addthisfeature.com/x/tabs
Return-to-Origin Navigation
Return-to-Origin Navigation
Send people back to the exact list they came from, filters and all.
What it does
A shared mechanism for remembering where a workflow started and returning the user there when it finishes.
How it works
- 1 Add one reusable way to carry an origin through a workflow, and use it everywhere instead of hardcoded 'back to index' links.
- 2 Capture the full origin state — filters, page, sort, search query, and scroll position — not just the path.
- 3 Validate the return target before redirecting: it must be a path inside this app that the current user is allowed to see.
Copy the prompt
No account needed
Add this feature to my app:
https://addthisfeature.com/x/return-to-origin-navigation
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.