Skip to content
← All solutions

Personalization

An experience that reflects
what people choose.

Connect session preferences, content and retrieval signals. Your application decides which experience to build from them.

Context becomes a useful experience

Same catalog.
A different starting point.

Change one explicit interest in this sample session. The application selects a different set of eligible articles without changing the underlying content catalog.

Preference-driven content selectionInteractive illustration
Illustrative sessionChange the expressed interest.
Session context
Interest
Outdoor guides
Language
English
Experience
Beginner
Personalization choice
Enabled for this example

Your application supplies these preferences.

An application-curated feed3 eligible articles
  1. Plan your first day hikeA starting point for beginners
  2. Pack light for the trailMatches the selected interest
  3. Read a trail mapA related skill to explore
Application eligibility checks
  • Published
  • English
  • Allowed audience

Context → candidates → eligibility → ordering
The application chooses the ranking and assembles the feed.

Local sample. No profile is saved.

OriginChainDB stores and retrieves the data. Consent handling, eligibility rules and ranking belong to your application.

Explore retrieval patterns

Choose useful context

Start with what
the person tells you.

Build from the signals your experience needs. Keep their meaning explicit so a preference, an interaction and an access rule do not become interchangeable.

Declared preferences
Store selected topics, language and experience level as structured fields. A visitor can change these directly.
Session interactions
Record relevant events under your application's policy. Your code decides whether an event should change future retrieval.
Content representations
Keep searchable text, embeddings and declared relationships linked to content IDs, so candidate results resolve to their records.

Eligibility leads. Ranking follows.

Start with what can be shown.

Personalization does not replace authorization. Apply the relevant database identity and access controls, then enforce application rules before displaying content.

Eligible content

Published and appropriate

  • Check publication status.
  • Apply language and audience requirements.
  • Respect the visitor's personalization choice.
Read access controls
Application ordering

Relevant and useful

Combine declared interests, retrieval ranks and any editorial priorities you choose. Keep a reason for each selection so teams can inspect the experience.

Fetch candidate records with SQL for structured checks. Vector filtering is index-specific; it is not a substitute for the full eligibility policy.

Check vector filtering

A preference can change

Update deliberately.
Fall back gracefully.

A row update does not also replace its embedding or full-text entry. Coordinate those calls explicitly and track which representation has been refreshed.

Review the write workflow
  1. 01

    Save the explicit choice

    Write the updated preference fields and record the application's profile version.

  2. 02

    Refresh derived representations

    If your design uses a preference embedding, generate and write the replacement separately.

  3. 03

    Choose a fallback

    When context is missing, disabled or awaiting refresh, serve an eligible curated selection.

Evaluate the whole experience

Make the outcome observable.

Compare application recipes with a consistent evaluation set. Record enough context to explain a result without retaining unrelated session data.

Coverage

Can you fill the experience?

Count eligible results and fallback use across different interests and audience rules.

Relevance

Did the selection help?

Review examples with your team and measure the outcome your application is designed to improve.

Freshness

Which context was used?

Track profile versions and representation updates alongside the application's ranking recipe.

Build with OriginChainDB

Give context a useful role.