apps/docs/user-profiles/overview.mdx
User profiles are automatically maintained collections of facts about your users that Supermemory builds from all their interactions and content. Think of it as a persistent "about me" document that's always up-to-date and instantly accessible.
<CardGroup cols={2}> <Card title="Instant Context" icon="bolt"> No search queries needed - comprehensive user information is always ready </Card> <Card title="Auto-Updated" icon="rotate"> Profiles update automatically as users interact with your system </Card> <Card title="Two-Tier Structure" icon="layer-group"> Static facts + dynamic context for perfect personalization </Card> <Card title="Zero Setup" icon="wand-magic-sparkles"> Just ingest content normally - profiles build themselves </Card> </CardGroup>Traditional memory systems rely entirely on search, which has fundamental limitations:
| Problem | With Search Only | With Profiles |
|---|---|---|
| Context retrieval | 3-5 search queries | 1 profile call |
| Response time | 200-500ms | 50-100ms |
| Consistency | Varies by search quality | Always comprehensive |
| Basic user info | Requires specific queries | Always available |
Search is too narrow: When you search for "project updates", you miss that the user prefers bullet points, works in PST timezone, and uses specific terminology.
Profiles provide the foundation: Instead of repeatedly searching for basic context, profiles give your LLM a complete picture of who the user is.
Profiles intelligently separate two types of information:
Long-term, stable facts that rarely change:
Recent context and temporary states:
Profiles are automatically built and maintained through Supermemory's ingestion pipeline:
<Steps> <Step title="Content Ingestion"> When users add documents, chat, or any content to Supermemory, it goes through the standard ingestion workflow. </Step> <Step title="Intelligence Extraction"> AI analyzes the content to extract not just memories, but also facts about the user themselves. </Step> <Step title="Profile Operations"> The system generates profile operations (add, update, or remove facts) based on the new information. </Step> <Step title="Automatic Updates"> Profiles are updated in real-time, ensuring they always reflect the latest information. </Step> </Steps> <Note> You don't need to manually manage profiles - they build themselves as users interact with your system. </Note>Profiles don't replace search - they complement it:
<Steps> <Step title="Profile provides foundation"> The user's profile gives your LLM comprehensive background context about who they are, what they know, and what they're working on. </Step> <Step title="Search adds specificity"> When you need specific information (like "error in deployment yesterday"), search finds those exact memories. </Step> <Step title="Combined for perfect context"> Your LLM gets both the broad understanding from profiles AND the specific details from search. </Step> </Steps>User asks: "Can you help me debug this?"
Without profiles: The LLM has no context about the user's expertise level, current projects, or debugging preferences.
With profiles: The LLM knows: