
MemorySupport
The hardest part of an AI customer-support system is not generating an answer. It is remembering what happened before.
Spots 

The hardest part of an AI customer-support system is not generating an answer. It is remembering what happened before.

A customer may have already explained their operating system, browser, previous errors, attempted solutions, and preferences during an earlier conversation. If the support agent starts every new conversation from zero, the customer has to repeat the same information.
I built MemorySupport around this problem: an AI customer-support platform designed to maintain useful customer context across interactions. The central idea is simple: Support should remember the customer, not just the current message.
For the memory layer, I designed the system around Hindsight, which provides the persistent-memory layer used by the application. The problem with stateless support agents A typical AI support agent can handle the conversation currently in front of it. The problem appears when the same customer returns later.
Imagine a customer previously reported that CSV uploads were crashing in Chrome on Windows 11. During that conversation, clearing the browser cache solved the problem. Without persistent memory, a future conversation could start like this: The CSV upload is crashing again. Please tell me your operating system, browser, and what you have already tried. The response is reasonable, but the customer has already provided that information. A memory-enabled support system can instead use the previous interaction: The CSV upload is crashing again.
Welcome back, Sarah. I remember a previous CSV upload issue on Windows 11 using Chrome. Clearing your browser cache resolved it last time. Let's try that first. The important difference is not simply that the second response sounds more personalized. The system has additional context that can influence the next support interaction. That became the design principle behind MemorySupport. I designed MemorySupport as a SaaS-style customer-support application with several connected areas: Overview Customers Support Chat Hindsight Memory Learning Timeline Analytics
The application uses React, TypeScript, and Tailwind CSS. The repository also contains a backend alongside the frontend application. The main support interface uses three columns: Customer list Support conversation Hindsight Memory The customer list allows the support team to switch between conversations.
The center of the interface contains the actual support conversation, including customer messages, agent responses, timestamps, typing state, and the message input. The right side contains the customer's memory context. MemorySupport's support workspace showing the conversation and relevant customer memories together. This layout was important because I did not want customer history to exist in a completely separate screen. The support agent should be able to see the conversation and the relevant context at the same time. The memory panel organizes customer information into categories such as:
For example, the application uses Sarah Wilson as a customer with Windows 11, Chrome, an Enterprise plan, a previous CSV-upload issue, and a successful browser-cache solution. This structure made the memory concept easier to reason about while designing the application. The important architectural decision was to separate the support experience from the memory layer. The support application is responsible for: Displaying customer context The memory layer is responsible for making previously learned customer information available when it becomes relevant. Conceptually, the flow is:
Customer Message ↓ Support Application ↓ Recall Relevant Memory ↓ Customer Context ↓ AI Support Response ↓ Retain Useful New Information This creates two important operations: Recall — What do we already know that could help with this conversation? Retain — What useful information did we learn from this interaction?
The hardest part of an AI customer-support system is not generating an answer.
