<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: devsharonn</title>
    <description>The latest articles on DEV Community by devsharonn (@devsharonn).</description>
    <link>https://dev.to/devsharonn</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4150503%2F7130eadc-7322-4871-95db-84ba2228777c.png</url>
      <title>DEV Community: devsharonn</title>
      <link>https://dev.to/devsharonn</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/devsharonn"/>
    <language>en</language>
    <item>
      <title>RECALLIQ.....</title>
      <dc:creator>devsharonn</dc:creator>
      <pubDate>Tue, 29 Sep 2026 17:17:38 +0000</pubDate>
      <link>https://dev.to/devsharonn/recalliq-41pm</link>
      <guid>https://dev.to/devsharonn/recalliq-41pm</guid>
      <description>&lt;p&gt;One thing that bothered me while working with AI support agents was how easily they forget what happened before.&lt;/p&gt;

&lt;p&gt;A customer can explain a problem, get a solution, confirm that it worked, and then come back later with the same issue — and the whole conversation can start from zero again.&lt;/p&gt;

&lt;p&gt;So I built RecallIQ.&lt;br&gt;
The idea behind it is pretty simple: if a solution worked for a customer before, the agent should be able to remember it.&lt;/p&gt;

&lt;p&gt;RecallIQ is an AI customer support agent built using Hindsight, Groq and Flask. The frontend is built with HTML, CSS and JavaScript, and the application is deployed on Render.&lt;/p&gt;

&lt;p&gt;The main workflow is:&lt;/p&gt;

&lt;p&gt;Recall → Understand → Resolve → Verify → Remember&lt;/p&gt;

&lt;p&gt;The interesting part for me was making memory an actual part of the support flow rather than just adding a memory feature somewhere in the background.&lt;/p&gt;

&lt;p&gt;How it works&lt;br&gt;
When a customer starts a support conversation, RecallIQ first looks for relevant information from their previous interactions using Hindsight.&lt;br&gt;
For example, a customer might have previously had a duplicate billing issue.&lt;br&gt;
The stored context could look something like:&lt;/p&gt;

&lt;p&gt;Issue: Duplicate billing charge&lt;br&gt;
Cause: Payment retry after a gateway timeout&lt;br&gt;
Resolution: Duplicate charge refunded&lt;/p&gt;

&lt;p&gt;Later, if the same customer reports a similar billing problem, RecallIQ can retrieve that previous context before generating the response.&lt;/p&gt;

&lt;p&gt;Without that memory, the agent might simply ask:&lt;/p&gt;

&lt;p&gt;“Can you provide more details about your billing issue?”&lt;br&gt;
With the recalled context, it can understand that the customer has already experienced a similar problem and that a particular resolution worked previously.&lt;br&gt;
That difference is what I wanted to demonstrate with RecallIQ.&lt;br&gt;
But I didn't want it to remember everything.&lt;br&gt;
This was another important part of the design.&lt;br&gt;
Just because an AI suggests something doesn't mean the solution actually worked.&lt;/p&gt;

&lt;p&gt;So RecallIQ has a verification step.&lt;/p&gt;

&lt;p&gt;After the agent provides a solution, the customer can confirm that it worked.&lt;br&gt;
Only then do we treat the resolution as something worth retaining.&lt;br&gt;
So the flow becomes:&lt;br&gt;
Customer problem&lt;br&gt;
↓&lt;br&gt;
Recall previous context&lt;br&gt;
↓&lt;br&gt;
Generate solution&lt;br&gt;
↓&lt;br&gt;
Customer confirms&lt;br&gt;
↓&lt;br&gt;
Remember confirmed solution&lt;/p&gt;

&lt;p&gt;This makes the memory more useful for future conversations.&lt;br&gt;
Building the memory layer&lt;/p&gt;

&lt;p&gt;Hindsight is the part that makes the persistent memory workflow possible.&lt;/p&gt;

&lt;p&gt;Instead of treating every customer message as an isolated request, RecallIQ can retrieve information from previous interactions and use it when handling the current one.&lt;/p&gt;

&lt;p&gt;The rest of the application is intentionally straightforward:&lt;/p&gt;

&lt;p&gt;Frontend&lt;br&gt;
↓&lt;br&gt;
Flask Backend&lt;br&gt;
↓&lt;br&gt;
Groq&lt;br&gt;
↕&lt;br&gt;
Hindsight&lt;/p&gt;

&lt;p&gt;The frontend handles the support experience, Flask connects the different parts of the application, Groq handles the language generation, and Hindsight provides the memory layer.&lt;/p&gt;

&lt;p&gt;What I found interesting&lt;/p&gt;

&lt;p&gt;The biggest thing I learned while building this is that memory by itself isn't the interesting part.&lt;/p&gt;

&lt;p&gt;The interesting part is deciding when memory should affect the next response.&lt;/p&gt;

&lt;p&gt;If an agent remembers irrelevant information, memory doesn't help much.&lt;/p&gt;

&lt;p&gt;But if it remembers something directly related to the customer's current problem — especially a solution that was already confirmed to work — that context can change the interaction.&lt;/p&gt;

&lt;p&gt;That's why I focused RecallIQ on one specific workflow instead of trying to build a huge customer-support platform.&lt;/p&gt;

&lt;p&gt;What I would improve next&lt;/p&gt;

&lt;p&gt;There are still quite a few things I would improve before treating this as a production system.&lt;/p&gt;

&lt;p&gt;I'd like to make customer identity and session handling more robust, improve memory retrieval and filtering, add stronger human-agent escalation, and evaluate how consistently the system retrieves the right previous context.&lt;/p&gt;

&lt;p&gt;But the core idea is working:&lt;/p&gt;

&lt;p&gt;A support agent can recall what happened before, use that information to handle the current problem, verify the solution, and retain what actually worked.&lt;/p&gt;

&lt;p&gt;That's the part of RecallIQ I'm most interested in exploring further.&lt;/p&gt;

&lt;p&gt;Project: &lt;a href="https://github.com/devsharonn/recalliq" rel="noopener noreferrer"&gt;https://github.com/devsharonn/recalliq&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hindsight: &lt;a href="https://github.com/vectorize-io/hindsight" rel="noopener noreferrer"&gt;https://github.com/vectorize-io/hindsight&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6lrvj9lfln4yyahu14y2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6lrvj9lfln4yyahu14y2.png" alt=" " width="800" height="383"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2r84xrxtq7jcpm41ylgq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2r84xrxtq7jcpm41ylgq.png" alt=" " width="799" height="383"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fy5cfz44s9wk7lcyqwksx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fy5cfz44s9wk7lcyqwksx.png" alt=" " width="799" height="383"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F44jwn2etkywx7frsqnl4.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F44jwn2etkywx7frsqnl4.jpeg" alt=" " width="800" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>agentmemory</category>
      <category>llm</category>
    </item>
  </channel>
</rss>
