--- title: "User Profiles" sidebarTitle: "User Profiles" description: "Automatically maintained context about your users" icon: "circle-user" --- User profiles are **automatically maintained collections of facts about your users** that Supermemory builds from all their interactions. Think of it as a persistent "about me" document that's always up-to-date. No search needed — comprehensive user info always ready Profiles update as users interact with your system ## Why Profiles? Traditional memory systems rely entirely on search: | Problem | Search Only | With Profiles | |---------|------------|---------------| | Context retrieval | 3-5 queries | 1 call | | Response time | 200-500ms | 50-100ms | | 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, and uses specific terminology. **Profiles provide the foundation**: Instead of searching for basic context, profiles give your LLM a complete picture of who the user is. --- ## Static vs Dynamic Profiles separate two types of information: ### Static Profile Long-term, stable facts: - "Sarah is a senior software engineer at TechCorp" - "Sarah specializes in distributed systems" - "Sarah prefers technical docs over video tutorials" ### Dynamic Profile Recent context and temporary states: - "Sarah is migrating the payment service to microservices" - "Sarah is preparing for a conference talk next month" - "Sarah is debugging a memory leak in auth service" --- ## How It Works Profiles are built automatically through ingestion: 1. **Ingest content** — Users [add documents](/add-memories), chat, or any content 2. **Extract facts** — AI analyzes content for facts about the user 3. **Update profile** — System adds, updates, or removes facts 4. **Always current** — Profiles reflect the latest information You don't manually manage profiles — they build themselves as users interact. Start by [adding content](/add-memories) to see profiles in action. --- ## Profiles + Search Profiles don't replace search — they complement it: - **Profile** = broad foundation (who the user is, preferences, background) - **Search** = specific details (exact memories matching a query) ### Example User asks: **"Can you help me debug this?"** **Without profiles**: LLM has no context about expertise, projects, or preferences. **With profiles**: LLM knows: - Senior engineer (adjust technical level) - Working on payment service (likely context) - Prefers CLI tools (tool suggestions) - Recent memory leak issues (possible connection) --- ## Use Cases ### Personalized AI Assistants Profiles provide: expertise level, communication preferences, tools used, current projects. ```typescript const systemPrompt = `You are assisting ${userName}. Background: ${profile.static.join('\n')} Current focus: ${profile.dynamic.join('\n')} Adjust responses to their expertise and preferences.`; ``` ### Customer Support Profiles provide: product usage, previous issues, tech proficiency. - No more "let me look up your account" - Agents immediately understand context - AI support references past interactions naturally ### Educational Platforms Profiles provide: learning style, completed courses, strengths/weaknesses. ### Development Tools Profiles provide: preferred languages, coding style, current project context. --- ## Next Steps Fetch and use profiles via the API How the underlying knowledge graph works Automatic profile injection with AI SDK Build profiles by adding content