<?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: R.Shanmugaraj</title>
    <description>The latest articles on DEV Community by R.Shanmugaraj (@rshanmugaraj_e471fa3f2ed).</description>
    <link>https://dev.to/rshanmugaraj_e471fa3f2ed</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%2F3887203%2Fbb22e242-4a4f-4003-bad9-05d356b7b6f4.png</url>
      <title>DEV Community: R.Shanmugaraj</title>
      <link>https://dev.to/rshanmugaraj_e471fa3f2ed</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rshanmugaraj_e471fa3f2ed"/>
    <language>en</language>
    <item>
      <title>ChatGPT's New Memory System Gave Me a Privacy Wake-Up Call</title>
      <dc:creator>R.Shanmugaraj</dc:creator>
      <pubDate>Sat, 20 Jun 2026 15:08:31 +0000</pubDate>
      <link>https://dev.to/rshanmugaraj_e471fa3f2ed/chatgpts-new-memory-system-gave-me-a-privacy-wake-up-call-35o5</link>
      <guid>https://dev.to/rshanmugaraj_e471fa3f2ed/chatgpts-new-memory-system-gave-me-a-privacy-wake-up-call-35o5</guid>
      <description>&lt;h2&gt;
  
  
  I thought it was hallucination. It wasn't. It was something worse.
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;By Shanmugaraj Rajkumar | June 2026 · 6 min read&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;A few weeks ago I asked ChatGPT a health question. Completely routine — nothing technical, nothing related to my usual coding or job prep sessions.&lt;/p&gt;

&lt;p&gt;Within a few responses, ChatGPT started referencing details from a conversation I had months ago. A conversation I never mentioned. Never linked. Just silently stored somewhere and quietly injected into my current chat.&lt;/p&gt;

&lt;p&gt;My first reaction: hallucination. ChatGPT is making things up again.&lt;/p&gt;

&lt;p&gt;But it wasn't random. It was &lt;em&gt;specific&lt;/em&gt;. Too specific to be fabricated. That's when I started digging — and what I found changed how I think about AI privacy entirely.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Actually Happened
&lt;/h2&gt;

&lt;p&gt;On June 4, 2026, OpenAI rolled out &lt;strong&gt;Dreaming V3&lt;/strong&gt; — a background memory system that scans your entire ChatGPT conversation history, builds a synthesized profile about you, and injects it into every new conversation before you type a single word.&lt;/p&gt;

&lt;p&gt;No pop-up. No opt-in screen. Just on by default.&lt;/p&gt;

&lt;p&gt;The memory state isn't stored in your chat log either. It lives in a &lt;strong&gt;separate data layer&lt;/strong&gt; that gets prepended to your system prompt at the start of every session. This means deleting a conversation doesn't delete the memories derived from it. They persist until you manually remove them from the Memory Summary.&lt;/p&gt;

&lt;p&gt;I didn't know any of this. Most users don't.&lt;/p&gt;




&lt;h2&gt;
  
  
  This Isn't Hallucination — It's Context Pollution
&lt;/h2&gt;

&lt;p&gt;What I experienced has a name: &lt;strong&gt;context pollution&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Traditional hallucinations are the model generating false information. What Dreaming V3 can cause is different — the model generating &lt;em&gt;technically grounded but contextually wrong&lt;/em&gt; information. Real data from your history, applied to the wrong situation.&lt;/p&gt;

&lt;p&gt;Old health queries. Half-finished debugging sessions. Personal conversations from six months ago. All silently stitching themselves into your active prompts — and the model has no reliable way to know what's still relevant to you &lt;em&gt;now&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;When it gets it right, it feels like magic. When it gets it wrong, it corrupts your entire context window.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Old System Was Better for Privacy
&lt;/h2&gt;

&lt;p&gt;I'll be honest: I strongly prefer the old "Manage Memory" system.&lt;/p&gt;

&lt;p&gt;Under the old &lt;strong&gt;Saved Memories&lt;/strong&gt;, you had a notebook you fully controlled. You could see every entry. Add, edit, or delete individual facts. If something was in the list, ChatGPT knew it. If it wasn't, it didn't. The contract was legible.&lt;/p&gt;

&lt;p&gt;Under Dreaming V3, that notebook is gone. A background process now decides what's worth remembering on your behalf — inferring things you never explicitly told it, from conversations you may not even remember having.&lt;/p&gt;

&lt;p&gt;One power user on the OpenAI Developer Community put it well:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"Under the old system, Saved Memories functioned like a notebook I controlled. Under Dreaming V3, the system now decides what's important on my behalf — and it gets it wrong."&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;OpenAI acknowledged compute costs for Dreaming were reduced by ~5x to enable free-tier rollout. That's smart business. But from a user-agency perspective, the system became cheaper to run by substituting its judgment for yours.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Mobile Problem Nobody Is Talking About
&lt;/h2&gt;

&lt;p&gt;This is the part that genuinely frustrated me.&lt;/p&gt;

&lt;p&gt;On &lt;strong&gt;desktop&lt;/strong&gt;, the Memory Summary has a clear option: &lt;em&gt;Delete and turn off memory&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;On &lt;strong&gt;mobile&lt;/strong&gt;? That option doesn't exist.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;📌 &lt;strong&gt;Mobile&lt;/strong&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%2Fe434j3qo6yoswzyezoy3.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%2Fe434j3qo6yoswzyezoy3.jpeg" alt=" " width="800" height="640"&gt;&lt;/a&gt;&lt;br&gt;
📌 &lt;strong&gt;Desktop Browser&lt;/strong&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%2F9q2cyrerz3xm1hpc4dnn.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%2F9q2cyrerz3xm1hpc4dnn.jpeg" alt=" " width="799" height="291"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;OpenAI's own Memory FAQ quietly notes: &lt;em&gt;"This control is available on the web and rolling out on mobile soon."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;No in-product warning. No banner. Mobile users — who make up the majority of ChatGPT's user base — currently have no way to delete their memory summary from their phone. A 2025 survey found 82% of US ChatGPT users consider their conversations sensitive or highly sensitive. Those are largely mobile users.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&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%2F5rovm06n28spu21kpt63.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%2F5rovm06n28spu21kpt63.jpeg" alt=" " width="800" height="859"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  The Privacy Architecture You Should Understand
&lt;/h2&gt;

&lt;p&gt;A few things most coverage gets wrong or skips:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deleting a chat ≠ deleting its memories.&lt;/strong&gt;&lt;br&gt;
The memory layer is separate from your conversation log. Delete a chat containing sensitive content — the memories synthesized from it still exist until you remove them manually from the Memory Summary.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;There are two separate privacy toggles — not one.&lt;/strong&gt;&lt;br&gt;
Most guides treat them as the same switch. They're not.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Settings → Personalization → Memory&lt;/strong&gt; — controls whether ChatGPT synthesizes and uses your memory profile&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Settings → Data Controls → "Improve the model for everyone"&lt;/strong&gt; — controls whether your conversations are used for model training&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&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%2F7axnbi4b2brpo0bkdbds.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%2F7axnbi4b2brpo0bkdbds.jpeg" alt=" " width="800" height="566"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;These are independent. Turn both off consciously, not just one.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Don't mention this again" doesn't delete anything.&lt;/strong&gt;&lt;br&gt;
It only reduces how often something surfaces. The underlying data stays.&lt;/p&gt;




&lt;h2&gt;
  
  
  How to Take Back Control Right Now
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Step 1 — Audit your Memory Summary&lt;/strong&gt;&lt;br&gt;
Desktop only: Settings → Personalization → Memory → Memory Summary&lt;br&gt;
Read what the system has decided to know about you. You may be surprised.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2 — Turn off memory or delete the summary&lt;/strong&gt;&lt;br&gt;
Three-dot menu in Memory Summary → &lt;em&gt;Delete and turn off memory&lt;/em&gt;&lt;br&gt;
(Desktop only for now — mobile option coming soon)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3 — Turn off model training separately&lt;/strong&gt;&lt;br&gt;
Settings → Data Controls → "Improve the model for everyone" → OFF&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4 — Use Temporary Chat for sensitive conversations&lt;/strong&gt;&lt;br&gt;
Health questions. Financial situations. API keys. Private work.&lt;br&gt;
Temporary Chat sessions don't use or update memory — the boundary is immediate, not delayed 30 days like the memory toggle.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5 — Revert to legacy saved memories if you prefer control&lt;/strong&gt;&lt;br&gt;
Settings → Personalization → Memory → tap the small underlined "saved memories" link at the bottom of the screen. Easy to miss, but it's there.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Bottom Line
&lt;/h2&gt;

&lt;p&gt;Dreaming V3 is technically impressive. OpenAI's internal evaluations show factual recall jumped from 67.9% to 82.8%, and preference adherence improved to 71.3%. For consistent, single-domain usage it's genuinely better.&lt;/p&gt;

&lt;p&gt;But the shift from user-controlled memory to AI-synthesized memory isn't a neutral upgrade. It changes the trust architecture of the product. The user no longer decides what the system knows — the system decides for itself, from years of conversations, with a mobile UX that currently blocks the most important control.&lt;/p&gt;

&lt;p&gt;When the system blends your health queries with your coding sessions with your personal conversations — and you have no reliable way to separate them — personalization becomes data pollution.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Be intentional about what you share with AI. Not every question needs an AI answer — especially personal ones.&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Found this useful? Share it with someone who uses ChatGPT daily and doesn't know this exists.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Full settings guide and step-by-step screenshots → [YOUR LINKEDIN POST LINK]&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;OpenAI — &lt;a href="https://openai.com/index/chatgpt-memory-dreaming/" rel="noopener noreferrer"&gt;Dreaming: Better memory for a more helpful ChatGPT&lt;/a&gt; (June 4, 2026)&lt;/li&gt;
&lt;li&gt;OpenAI Help Center — &lt;a href="https://help.openai.com/en/articles/8590148-memory-faq" rel="noopener noreferrer"&gt;Memory FAQ&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;OpenAI Developer Community — &lt;a href="https://community.openai.com/t/dreaming-v3-sacrifices-real-personalization-for-compute-savings-a-power-user-s-perspective/1383010" rel="noopener noreferrer"&gt;Dreaming V3 Sacrifices Real Personalization for Compute Savings&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;TechTimes — &lt;a href="https://www.techtimes.com/articles/317840/20260605/chatgpt-memory-dreaming-update-openai-rewrites-personalization-engine-limits-audit-trail.htm" rel="noopener noreferrer"&gt;ChatGPT Memory Dreaming Update: OpenAI Rewrites Personalization Engine&lt;/a&gt; (June 5, 2026)&lt;/li&gt;
&lt;li&gt;ACM CHI 2026 — &lt;em&gt;Relational Gains, Privacy Strains: Exploring Users' Perceptions and Experiences with ChatGPT's Memory Feature&lt;/em&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;&lt;strong&gt;About the Author&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Shanmugaraj Rajkumar&lt;/strong&gt; is a BSc Computer Science graduate and Developer focused on Python backend development, FastAPI, and AI/ML engineering. He writes about AI tools, data privacy, and developer experience from a builder's perspective.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🔗 LinkedIn: [&lt;a href="https://www.linkedin.com/in/shanmugaraj27" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/shanmugaraj27&lt;/a&gt;]&lt;/li&gt;
&lt;li&gt;🐙 GitHub: [&lt;a href="https://github.com/Shanmuga-Raj27" rel="noopener noreferrer"&gt;https://github.com/Shanmuga-Raj27&lt;/a&gt;]&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;This article is based on personal user-level observation combined with publicly available technical documentation from OpenAI and cited research.&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>From Prompt to Production: How I Built "Google Stadium" for Google PromptWars 2026</title>
      <dc:creator>R.Shanmugaraj</dc:creator>
      <pubDate>Sun, 19 Apr 2026 10:11:38 +0000</pubDate>
      <link>https://dev.to/rshanmugaraj_e471fa3f2ed/from-prompt-to-production-how-i-built-google-stadium-for-google-promptwars-2026-i66</link>
      <guid>https://dev.to/rshanmugaraj_e471fa3f2ed/from-prompt-to-production-how-i-built-google-stadium-for-google-promptwars-2026-i66</guid>
      <description>&lt;p&gt;Have you ever missed the winning goal of a match because you were stuck in a 30-minute line for a hot dog?&lt;/p&gt;

&lt;p&gt;Managing crowds, vendor logistics, and fan experiences inside a massive stadium is a logistical nightmare. For the Google PromptWars: Virtual 2026 hackathon, I set out to solve this problem.&lt;/p&gt;

&lt;p&gt;The result is Google Stadium: a real-time, full-stack application that provides seat-direct food delivery, live crowd traffic monitoring, and global stadium communication.&lt;/p&gt;

&lt;p&gt;But I didn't build it alone. I built the entire architecture using Google Antigravity and advanced prompt engineering. Here is a look under the hood at how I took this idea from a blank prompt to a live, production-ready cloud application.&lt;/p&gt;

&lt;p&gt;🏗️ ** The Tech Stack**&lt;br&gt;
Before diving into the AI process, here is the architecture I decided on to handle real-time stadium data:&lt;/p&gt;

&lt;p&gt;-Backend: Python &amp;amp; FastAPI (for high-speed asynchronous processing).&lt;/p&gt;

&lt;p&gt;-Real-time Comms: WebSockets (for live global chat and order tracking).&lt;/p&gt;

&lt;p&gt;-Database: PostgreSQL managed via SQLAlchemy &amp;amp; Asyncpg.&lt;/p&gt;

&lt;p&gt;-Frontend: ReactJS built with Vite, styled with Tailwind CSS.&lt;/p&gt;

&lt;p&gt;-Hosting: Render (Decoupled Static Site and Web Service).&lt;/p&gt;

&lt;p&gt;🧠 &lt;strong&gt;The Secret Weapon: Agile Prompt Engineering&lt;/strong&gt;&lt;br&gt;
The biggest mistake developers make with AI coding agents is treating them like a vending machine—asking for an entire app in one massive prompt. It almost always results in bloated, broken code.&lt;/p&gt;

&lt;p&gt;Instead, I used an Agile Prompting Methodology with Google Antigravity. I treated the AI like a Senior Pair Programmer, breaking the build down into strict, manageable sprints.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. The Architecture Phase&lt;/strong&gt;&lt;br&gt;
I didn't let the AI write a single line of React or FastAPI routing until the database was bulletproof. My first prompts were strictly focused on schema design: designing the relationships between Users, Vendors, MenuItems, and Orders. Only once the foundation was solid did we move up the stack.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Iterative Component Sprints&lt;/strong&gt;&lt;br&gt;
Instead of prompting "build the frontend," I scoped prompts tightly:&lt;/p&gt;

&lt;p&gt;"Build the Fan Dashboard. It must fetch menu items and allow the user to select a Block, Row, and Seat for delivery."&lt;/p&gt;

&lt;p&gt;"Now, build the Vendor Dashboard. It must listen via WebSockets for incoming orders and update their status."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Surgical Debugging&lt;/strong&gt;&lt;br&gt;
AI is fantastic at writing code, but deploying to the cloud is where things get messy. Rather than manually hunting for bugs, I fed terminal errors directly back into Antigravity with strict context.&lt;/p&gt;

&lt;p&gt;🐛 ** Squashing Real-World Deployment Bugs**&lt;br&gt;
Building locally is easy; deploying to the cloud is hard. During deployment to Render, I hit two massive roadblocks that tested my prompt engineering skills.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Challenge 1:&lt;/strong&gt; The Asynchronous Database Trap&lt;br&gt;
My FastAPI backend was built using modern async Python. However, Render automatically provisions databases with a postgres:// URL, which defaults to an old, synchronous driver (psycopg2). The app crashed instantly on boot.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The AI Fix:&lt;/strong&gt; I prompted Antigravity to inject a safety wrapper in my database.py that intercepts Render's environment variable and dynamically reformats it to postgresql+asyncpg://, allowing my async engine to connect flawlessly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Challenge 2:&lt;/strong&gt; The React SPA Routing Black Hole&lt;br&gt;
When I deployed the Vite/React frontend as a Static Site, clicking links worked fine, but if a user hit "Refresh" on the /vendor page, it threw a 404 Error. Render was looking for a literal folder named "vendor" that didn't exist.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The AI Fix:&lt;/strong&gt; I engineered a prompt to audit the deployment configuration and establish a _redirects fallback file, while simultaneously fixing hardcoded localhost WebSocket URLs to dynamically read import.meta.env.VITE_API_URL.&lt;/p&gt;

&lt;p&gt;🚀 &lt;strong&gt;The Final Result&lt;/strong&gt;&lt;br&gt;
By maintaining strict prompt boundaries and utilizing iterative error correction, I successfully deployed a complex, decoupled, full-stack application.&lt;/p&gt;

&lt;p&gt;Google Stadium is now live. Fans can order food, vendors can track revenue, and admins can broadcast live messages to the entire stadium.&lt;/p&gt;

&lt;p&gt;Working with Google Antigravity taught me that the future of software engineering isn't just about knowing syntax; it’s about system design, understanding the tools, and knowing exactly how to ask the right questions.&lt;/p&gt;

&lt;p&gt;🔗 &lt;em&gt;** Links**&lt;/em&gt;&lt;br&gt;
Live Application: &lt;a&gt;https://google-stadium-app.onrender.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;GitHub Repository &amp;amp; Prompt Vault: [&lt;a href="https://github.com/Shanmuga-Raj27/Google-Stadium-" rel="noopener noreferrer"&gt;https://github.com/Shanmuga-Raj27/Google-Stadium-&lt;/a&gt;]&lt;/p&gt;

&lt;p&gt;A huge thank you to Google for hosting PromptWars 2026. Happy coding!&lt;/p&gt;

</description>
      <category>ai</category>
      <category>architecture</category>
      <category>google</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
