AddThisFeature

AI Recommendation Engine

Suggest the next relevant item from what the user can actually see and act on.

involved AI Content

What it adds

A ranked set of suggested records, content, or actions built from an explicit candidate pool and the user's current context.

What your agent is told to do

5
  1. 1

    Build the candidate pool with ordinary queries the team can read and reason about — recent, related, popular in this workspace, similar by attribute — before any ranking happens. A pool nobody can explain produces recommendations nobody can debug.

  2. 2

    Filter the pool for permission, availability, and state before ranking, not after. Ranking an item the user cannot open wastes a slot and undermines the whole surface.

  3. 3

    Give each recommendation a short, honest reason drawn from the signal that produced it, and offer a dismissal that is remembered.

  4. 4

    Serve recommendations from precomputed results refreshed on a schedule or on meaningful activity, so a page never waits on a model call. If the ranking is unavailable, fall back to the unranked candidate pool rather than showing nothing.

  5. 5

    Behavioural signals gathered here must obey the app's existing consent and data-deletion paths. Deleting an account or withdrawing consent must remove the signals and the derived recommendations, not just hide them.

Edge cases it handles

8
  • The candidate pool must be defined in terms a person can state in a sentence. Anything opaque cannot be tuned, explained to a customer, or reproduced when someone reports a bad suggestion.
  • Never recommend an item the user lacks permission to open, one that is archived, out of stock, or discontinued, or one they have already completed or dismissed. Each of these reads as the app not paying attention.
  • Ranking purely by similarity collapses into a single category. Enforce diversity across type, category, or source so the set is useful rather than five variations of the last thing viewed.
  • New users and empty workspaces have no history. Fall back to popular, recent, or onboarding-relevant items and make the surface useful from the first session rather than empty.
  • Behavioural data is personal data. Honour consent, respect deletion and export requests, and never expose one user's activity through another user's recommendations.
  • A recommendation set must degrade gracefully. If the ranking step fails or times out, show the filtered pool in a sensible default order and log the failure rather than rendering an empty panel.
  • Refresh timing matters as much as ranking. Recommendations that never change look broken, and ones that change on every reload look random, so pick a refresh cadence and hold it.
  • Feedback loops amplify whatever was shown first. Track impressions alongside clicks so a genuinely popular item can be told apart from one that was merely displayed most often.

Definition of done

9
  • The candidate pool is produced by explicit, readable queries before ranking.
  • Permission, availability, and completion filters are applied before ranking, not after.
  • Each recommendation shows a reason and can be dismissed, and dismissals persist.
  • Diversity constraints prevent a set dominated by one category.
  • Users with no history receive a useful fallback set rather than an empty surface.
  • A ranking failure falls back to the ordered candidate pool without an empty state.
  • Behavioural signals honour consent and are removed on deletion, along with derived recommendations.
  • The feature matches the existing design system.
  • No existing functionality is broken.

Related features

How it works

  1. 1

    Copy the link

    Grab the Markdown instruction URL for this feature.

  2. 2

    Give it to your AI

    Paste it into Claude Code, Cursor, v0, Lovable — whatever you build with.

  3. 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.