<?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: Francis</title>
    <description>The latest articles on DEV Community by Francis (@francis_38db78b376bc161e6).</description>
    <link>https://dev.to/francis_38db78b376bc161e6</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%2F3878822%2Fb53f0f92-ad91-4934-ad21-a8b4369d3200.png</url>
      <title>DEV Community: Francis</title>
      <link>https://dev.to/francis_38db78b376bc161e6</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/francis_38db78b376bc161e6"/>
    <language>en</language>
    <item>
      <title>SESSION 9</title>
      <dc:creator>Francis</dc:creator>
      <pubDate>Tue, 06 Oct 2026 05:38:43 +0000</pubDate>
      <link>https://dev.to/francis_38db78b376bc161e6/-548c</link>
      <guid>https://dev.to/francis_38db78b376bc161e6/-548c</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/francis_38db78b376bc161e6/add-memory-to-a-chatbot-that-remembers-users-between-sessions-and-win-up-to-2500-49d2" class="crayons-story__hidden-navigation-link"&gt;Add Memory to a Chatbot That Remembers Users Between Sessions (and Win Up to $2500)"&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/francis_38db78b376bc161e6" class="crayons-avatar  crayons-avatar--l  "&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%2Fuser%2Fprofile_image%2F3878822%2Fb53f0f92-ad91-4934-ad21-a8b4369d3200.png" alt="francis_38db78b376bc161e6 profile" class="crayons-avatar__image" width="96" height="96"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/francis_38db78b376bc161e6" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Francis
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Francis
                
                
              
              &lt;div id="story-author-preview-content-4804696" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/francis_38db78b376bc161e6" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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%2Fuser%2Fprofile_image%2F3878822%2Fb53f0f92-ad91-4934-ad21-a8b4369d3200.png" class="crayons-avatar__image" alt="" width="96" height="96"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Francis&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/francis_38db78b376bc161e6/add-memory-to-a-chatbot-that-remembers-users-between-sessions-and-win-up-to-2500-49d2" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Oct 6&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/francis_38db78b376bc161e6/add-memory-to-a-chatbot-that-remembers-users-between-sessions-and-win-up-to-2500-49d2" id="article-link-4804696"&gt;
          Add Memory to a Chatbot That Remembers Users Between Sessions (and Win Up to $2500)"
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/ai"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;ai&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/opensource"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;opensource&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/agents"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;agents&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/web3"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;web3&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/francis_38db78b376bc161e6/add-memory-to-a-chatbot-that-remembers-users-between-sessions-and-win-up-to-2500-49d2" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;1&lt;span class="hidden s:inline"&gt;&amp;nbsp;reaction&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/francis_38db78b376bc161e6/add-memory-to-a-chatbot-that-remembers-users-between-sessions-and-win-up-to-2500-49d2#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              1&lt;span class="hidden s:inline"&gt;&amp;nbsp;comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            3 min read
          &lt;/small&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
    </item>
    <item>
      <title>Add Memory to a Chatbot That Remembers Users Between Sessions (and Win Up to $2500)"</title>
      <dc:creator>Francis</dc:creator>
      <pubDate>Tue, 06 Oct 2026 05:37:54 +0000</pubDate>
      <link>https://dev.to/francis_38db78b376bc161e6/add-memory-to-a-chatbot-that-remembers-users-between-sessions-and-win-up-to-2500-49d2</link>
      <guid>https://dev.to/francis_38db78b376bc161e6/add-memory-to-a-chatbot-that-remembers-users-between-sessions-and-win-up-to-2500-49d2</guid>
      <description>&lt;p&gt;&lt;strong&gt;&lt;em&gt;LLMs are stateless, so most chatbots forget you when the chat ends. Here is how persistent memory fixes that, and a $2,500 open challenge to build one with Walrus Memory."&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You tell a support bot your order number. A week later it asks for it again. An internal helpdesk bot walks the same employee through the same fix every month. A companion app has no idea what you said yesterday.&lt;/p&gt;

&lt;p&gt;This is the most common complaint about chatbots, and it has a simple cause.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why chatbots forget
&lt;/h2&gt;

&lt;p&gt;A language model is &lt;strong&gt;stateless&lt;/strong&gt;. Every request starts from a blank slate, and the only "memory" is whatever text you put in the prompt. Most bots handle this by replaying the current conversation. That works inside one session. When the session ends, everything is gone.&lt;/p&gt;

&lt;p&gt;To remember someone across sessions, across users, and across devices, memory has to live outside the model and outside any single chat window.&lt;/p&gt;

&lt;h2&gt;
  
  
  The pattern that works
&lt;/h2&gt;

&lt;p&gt;Whatever tool you use, persistent memory comes down to four steps:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# pseudocode, not a real SDK
on each user message:
    memories = recall(user_id, query=message)    # 1. fetch what matters
    reply    = llm(system_prompt + memories + message)  # 2. answer with context
    facts    = extract_facts(message, reply)     # 3. pull out durable facts
    store(user_id, facts)                        # 4. save them for next time
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A few principles make the difference between memory that helps and memory that is decorative:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Store facts, not transcripts.&lt;/strong&gt; Preferences, constraints, past problems and goals are useful. Raw chat logs are noisy and expensive to recall.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Recall before responding.&lt;/strong&gt; The bot should use memory on the turn where it matters, not after.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scope memory per user.&lt;/strong&gt; One person's context must never leak into another's.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Make recall visible.&lt;/strong&gt; The best moment in any memory demo is the bot saying something that only makes sense because of a previous session.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The challenge: Walrus Session 8
&lt;/h2&gt;

&lt;p&gt;Walrus is running &lt;strong&gt;Chatbots That Remember&lt;/strong&gt; from &lt;strong&gt;Sep 18 to Oct 9&lt;/strong&gt; with a &lt;strong&gt;$2,500 prize pool&lt;/strong&gt; paid in stablecoin. The task is to build a chatbot that uses &lt;strong&gt;Walrus Memory&lt;/strong&gt; (an open-source memory layer for AI agents) to persist and recall context across sessions, users and devices, and then to write honestly about what changed.&lt;/p&gt;

&lt;p&gt;Any chatbot qualifies if it talks to people and should remember them:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Customer support and website widgets&lt;/li&gt;
&lt;li&gt;Internal IT or HR helpdesks&lt;/li&gt;
&lt;li&gt;Onboarding assistants&lt;/li&gt;
&lt;li&gt;Tutoring and language-learning bots&lt;/li&gt;
&lt;li&gt;Sales and lead-qualification bots&lt;/li&gt;
&lt;li&gt;Community moderators&lt;/li&gt;
&lt;li&gt;Coaching or companion bots&lt;/li&gt;
&lt;li&gt;Game NPCs&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  What you need to do
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Build a bot with Walrus Memory integrated (new, or retrofit an existing one).&lt;/li&gt;
&lt;li&gt;Deploy it somewhere real: Telegram, Discord, Slack, WhatsApp, a web widget or a CLI.&lt;/li&gt;
&lt;li&gt;Run it for a few days with at least &lt;strong&gt;3 users, each with 10 or more stored memories&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Publish a 500 to 800 word article on Medium or Inkray covering what it does, how memory is wired in, a before/after comparison, and evidence of real use.&lt;/li&gt;
&lt;li&gt;Submit a public GitHub repo with setup instructions.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Prizes
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Category&lt;/th&gt;
&lt;th&gt;Prize&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Best Chatbot&lt;/td&gt;
&lt;td&gt;$500 / $250 / $150&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Open and alternative models (non-Anthropic, non-OpenAI, such as Gemini, Llama, Qwen or DeepSeek)&lt;/td&gt;
&lt;td&gt;2 x $150&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Best Article&lt;/td&gt;
&lt;td&gt;3 x $100&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bug Bounty (reproducible issues on the MemWal repo)&lt;/td&gt;
&lt;td&gt;5 x $100&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Promo posts (sharing in communities outside Walrus and Sui)&lt;/td&gt;
&lt;td&gt;5 x $100&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Prizes can stack, so one project can compete in several categories. If you don't want to build, the bug bounty and promo prize each have their own form.&lt;/p&gt;

&lt;h2&gt;
  
  
  A tip if you're building
&lt;/h2&gt;

&lt;p&gt;If you use a non-OpenAI, non-Anthropic model, the challenge specifically wants to hear about integration friction. Local models through Ollama or LM Studio, and hosted providers like Gemini or DeepSeek, are where unusual bugs show up. Reproducible reports on the &lt;a href="https://github.com/MystenLabs/MemWal/issues" rel="noopener noreferrer"&gt;MemWal issue tracker&lt;/a&gt; are eligible for the bug bounty.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where to start
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Walrus Memory repo: &lt;a href="https://github.com/MystenLabs/MemWal" rel="noopener noreferrer"&gt;https://github.com/MystenLabs/MemWal&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Chatbot example: &lt;a href="https://docs.wal.app/walrus-memory/examples/chatbot" rel="noopener noreferrer"&gt;https://docs.wal.app/walrus-memory/examples/chatbot&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Intro blog: &lt;a href="https://blog.walrus.xyz/how-to-add-portable-memory-to-claude-code-and-codex-with-walrus-memory/" rel="noopener noreferrer"&gt;https://blog.walrus.xyz/how-to-add-portable-memory-to-claude-code-and-codex-with-walrus-memory/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Submission form: &lt;a href="https://airtable.com/appoDAKpC74UOqoDa/shro5iVzzjoWfZlPK" rel="noopener noreferrer"&gt;https://airtable.com/appoDAKpC74UOqoDa/shro5iVzzjoWfZlPK&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Walrus Discord: &lt;a href="https://discord.com/invite/walrusprotocol" rel="noopener noreferrer"&gt;https://discord.com/invite/walrusprotocol&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The window closes on &lt;strong&gt;Oct 9&lt;/strong&gt;, and you need a few days of real usage, so the sooner you start, the better.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Disclosure:&lt;/strong&gt; I'm not affiliated with Walrus or Mysten Labs. I'm sharing this as a participant in the challenge's promo category.&lt;/p&gt;

&lt;p&gt;Have you added long-term memory to a bot? What did you store, and what did you wish you hadn't? I'd like to hear what worked in the comments.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>agents</category>
      <category>web3</category>
    </item>
  </channel>
</rss>
