Persistent Memory
The AI remembers users across conversations. Preferences, context, and important details are persisted in PostgreSQL and retrieved automatically — so users never start from zero.

The memory dashboard at /chatbot-memories — search, filter, create, and manage stored memories.
AI-driven memory persistence
The chatbot automatically saves important facts, preferences, and context during conversations using a built-in memory tool with 5 modes.
- 5 tool modes: search, create, update, delete, list
- AI decides what's worth remembering based on conversation context
- Memories checked at the start of every new conversation
- Users can also manage memories manually via the dashboard
Full-text search
Memories are searchable using PostgreSQL's built-in full-text search with GIN indexing and ts_rank relevance scoring.
- PostgreSQL search_memory function with ts_rank scoring
- GIN index on the memory table for fast lookups
- Debounced search in the dashboard UI
- The AI automatically searches memories when relevant to the conversation
User-scoped isolation
Memories are isolated per user. When a user is in a conversation, the AI only sees and stores memories scoped to that user. Personal memories are used when not in a conversation.
- Automatic scoping based on active user context
- Clean separation between personal and user-level memories
- No cross-user data leakage by design
- Session auto-assignment handles user context automatically
Memory management dashboard
A full dashboard UI at /chatbot-memories for viewing, searching, creating, editing, and deleting memories.
- Stats cards showing memory count and usage
- Debounced search with date range filters and sort controls
- Inline create, edit, and delete with toast feedback
- Accessible from the chat sidebar navigation
Inline tool result cards
Every memory operation displays a styled result card directly in the chat conversation with mode-specific colors and icons.
- Search results: blue cards with matching memories
- Create confirmations: emerald cards
- Update confirmations: amber cards
- Delete confirmations: red cards
- List results: violet cards with all stored memories
7 tRPC endpoints
Complete API coverage for memory operations through type-safe tRPC procedures.
- Full CRUD: create, read, update, delete
- Full-text search endpoint
- Upsert for idempotent memory updates
- List with organization scoping
Memory that actually works.
Not a proof of concept — a full-stack memory system ready for production.