Skip to main content

Architecture Overview

GetProfile provides the LLM Proxy for automatic, transparent integration with your existing OpenAI-compatible applications.

Proxy Flow (Automatic)

The proxy sits between your application and the LLM provider, enriching every request with user context automatically.

Request Flow

1

Request Received

Your app sends a chat completion request to the GetProfile proxy with a user identifier.
2

Profile Loaded

GetProfile looks up the user’s profile using the X-GetProfile-Id header or user field.
3

Context Assembled

The proxy gathers:
  • User traits (name, preferences, expertise level)
  • Profile summary
  • Relevant memories from past conversations
4

Prompt Enriched

Context is injected into the system message: ``` ## User Profile Alex is an experienced software engineer who prefers concise, technical explanations. ## User Attributes - Communication style: technical - Expertise level: advanced

Relevant Context - User mentioned working on a microservices migration last

week ```
5

Request Forwarded

The enriched request is sent to the upstream LLM provider.
6

Response Streamed

The LLM response is streamed back to your app in real-time.
7

Background Processing

After the response completes, GetProfile asynchronously:
  • Extracts new traits from the conversation
  • Stores relevant memories
  • Updates the profile summary if needed

Three-Layer Architecture

All integration methods (Proxy, API, Dashboard) share the same core engine and storage, ensuring consistent behavior regardless of how you integrate.

Key Components

Responsible for: - Storing conversation messages - Extracting facts and memories using LLM - Retrieving relevant memories for context - Generating profile summaries
Responsible for: - Loading trait schemas (default + custom) - Extracting structured traits from conversations - Managing confidence scores - Building injection context
Orchestrates: - Profile creation and lookup - Context assembly for requests
  • Coordinating memory and trait engines

Choosing an Integration

See the Integration Options guide for detailed comparison.