<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Pallav Roxy: Debugging Life: One Token at a Time]]></title><description><![CDATA[Exploring the evolving world of AI through experiments, learnings, and self reflections. This section documents my process of understanding and building with generative AI — one token at a time. ]]></description><link>https://pallavroxy.substack.com/s/debugging-life-one-token-at-a-time</link><image><url>https://substackcdn.com/image/fetch/$s_!ZiU-!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fpallavroxy.substack.com%2Fimg%2Fsubstack.png</url><title>Pallav Roxy: Debugging Life: One Token at a Time</title><link>https://pallavroxy.substack.com/s/debugging-life-one-token-at-a-time</link></image><generator>Substack</generator><lastBuildDate>Sat, 18 Jul 2026 08:43:06 GMT</lastBuildDate><atom:link href="https://pallavroxy.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Pallav Roxy]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[pallavroxy@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[pallavroxy@substack.com]]></itunes:email><itunes:name><![CDATA[Pallav Roxy]]></itunes:name></itunes:owner><itunes:author><![CDATA[Pallav Roxy]]></itunes:author><googleplay:owner><![CDATA[pallavroxy@substack.com]]></googleplay:owner><googleplay:email><![CDATA[pallavroxy@substack.com]]></googleplay:email><googleplay:author><![CDATA[Pallav Roxy]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Dear LLM, Please build my entire application]]></title><description><![CDATA[Why that sounded like a great idea&#8230; until it wasn&#8217;t.]]></description><link>https://pallavroxy.substack.com/p/dear-llm-please-build-my-entire-application</link><guid isPermaLink="false">https://pallavroxy.substack.com/p/dear-llm-please-build-my-entire-application</guid><dc:creator><![CDATA[Pallav Roxy]]></dc:creator><pubDate>Tue, 07 Jul 2026 21:41:53 GMT</pubDate><content:encoded><![CDATA[<p><span>I have been trying to offload my mental load onto AI applications while having fun catching up on my love of building. A few weeks ago, I proudly got one of those automations working.</span></p><p><span>I typed a prompt, the LLM responded, and I celebrated.</span></p><p><span>5 minutes later, I had a second idea, then a third. By the end of the day my beautifully concise prompt had somehow evolved into a huge blob representing my perimenopausal chain of thoughts:</span></p><p><span>&#8220;</span><em><span>You are an expert event planner. Create the perfect invitation, generate witty invitation copy, recommend decorations, suggest gifts for the hosts, organize the guest list, validate email addresses, schedule reminder emails, predict no-shows, create seating arrangements, answer in JSON, but if that doesn&#8217;t work, answer in markdown&#8230;</span></em><span>&#8221;</span></p><p><span>You get the gist. My prompt had become what software engineers affectionately call </span><strong><span>a god object</span></strong><span>. Except this one wasn&#8217;t in Java. It was in English.</span></p><div><hr></div><h2>I don&#8217;t build applications like this</h2><p><span>My immediate thought was I haven&#8217;t executed like this in ages, not since I ended up fixing the mess that my sixth grade science fair code was.</span></p><p><span>What if I was building an e-invite website (Thanks to the background processing thread that&#8217;s running in my head as I&#8217;m planning my 4 year olds b&#8217;day party)? I wouldn&#8217;t just write &#8220;one giant function&#8221; to do it all.</span></p><p><span>I would have naturally thought about it in terms of:</span></p><ul><li><p><span>UI</span></p></li><li><p><span>APIs</span></p></li><li><p><span>Database</span></p></li><li><p><span>Business logic</span></p></li><li><p><span>Validation</span></p></li><li><p><span>Error handling</span></p></li></ul><p><span>Because that&#8217;s how my engineering brain has been trained to think. Interestingly, the moment LLMs entered the picture, in my excitement to offload all of it, I  forgot decades of software engineering lessons.</span></p><p><span>Instead of designing a system, I started negotiating with a paragraph. I could hear my high school English teacher&#8217;s signature &#8220;tch.. tch..&#8221; in the background.</span></p><div><hr></div><h2>The Biggest Mindset Shift</h2><p><span>The single biggest realization I had while starting to build with GenAI was this:</span></p><p><strong><span>The LLM isn&#8217;t my application. It&#8217;s just another dependency.</span></strong></p><p><span>Treat it like you would any other external service. Would I program an invitation template to keep track of RSVPs, send reminder emails, handle venue&#8217;s waiver requirements, and suggest gifting ideas?</span></p><p><span>No.</span></p><p><span>Then why was I asking LLMs to do everything from arithmetic to fetching APIs to formatting JSON? I immediately started exploring how others have been architecting the AI workflows and agents and taking notes. Here is a summary of what I learnt.</span></p><div><hr></div><h2>Every AI Application Has Five Building Blocks</h2><p><span>I started noticing a similar sort of architecture everywhere.</span></p><p><span>Whether you&#8217;re building an AI travel planner, coding assistant, medical chatbot, or meeting summarizer, the flow almost always will look like this.</span></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ukGK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f3ad27c-acc7-4cdf-984d-3ace53ab74b3_1840x167.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ukGK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f3ad27c-acc7-4cdf-984d-3ace53ab74b3_1840x167.png 424w, https://substackcdn.com/image/fetch/$s_!ukGK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f3ad27c-acc7-4cdf-984d-3ace53ab74b3_1840x167.png 848w, https://substackcdn.com/image/fetch/$s_!ukGK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f3ad27c-acc7-4cdf-984d-3ace53ab74b3_1840x167.png 1272w, https://substackcdn.com/image/fetch/$s_!ukGK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f3ad27c-acc7-4cdf-984d-3ace53ab74b3_1840x167.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ukGK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f3ad27c-acc7-4cdf-984d-3ace53ab74b3_1840x167.png" width="1456" height="132" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7f3ad27c-acc7-4cdf-984d-3ace53ab74b3_1840x167.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:132,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ukGK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f3ad27c-acc7-4cdf-984d-3ace53ab74b3_1840x167.png 424w, https://substackcdn.com/image/fetch/$s_!ukGK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f3ad27c-acc7-4cdf-984d-3ace53ab74b3_1840x167.png 848w, https://substackcdn.com/image/fetch/$s_!ukGK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f3ad27c-acc7-4cdf-984d-3ace53ab74b3_1840x167.png 1272w, https://substackcdn.com/image/fetch/$s_!ukGK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f3ad27c-acc7-4cdf-984d-3ace53ab74b3_1840x167.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h4>1. Input </h4><p><span>This is basic software engineering. Your application fetches data from APIs, reads databases, downloads documents, gets Slack messages, loads calendar events.</span></p><p><span>The LLMs should never be responsible for fetching information. That&#8217;s your code&#8217;s job. Think of the LLMs as the world&#8217;s smartest interns. You don&#8217;t tell your interns, &#8220;Go figure out what&#8217;s in my database.&#8221; You hand them the relevant data.</span></p><h4><strong><span>2. Prompt Construction</span></strong></h4><p><span>This is where the magic really happens. People think prompt engineering means writing clever sentences. It doesn&#8217;t. It&#8217;s mostly data engineering.</span></p><p><span>Imagine you&#8217;re creating a briefing for your SLT. Would you forward all 2,000 Slack messages? No. You&#8217;d filter, summarize, highlight what&#8217;s important and emphasize on immediate tasks.</span></p><p><span>Prompt construction is exactly that. Instead of sending: entire slack workspace, entire task list, entire email inbox. You send: Urgent Slack threads, known prioritizing/resourcing conflicts, blocked tasks, and relevant context.</span></p><p><span>The cleaner the input, the smarter the output.</span></p><h4>3. The LLM Call</h4><p><span>This is surprisingly the smallest part of the architecture, your application sends a prompt, the model generates tokens. Done.</span></p><p><span>That&#8217;s it. This is also the only step, which might not function the same always.</span></p><p><span>Same input everyday: &#8220;Write a polite RSVP reminder.&#8221; might produce slightly different wording each time. That&#8217;s perfectly okay.</span></p><p><span>You might be wasting resources and adding up on costs if you are asking the models to perform the tasks where you need the same output each time.<br><br>This is where you need to spend some energy and divide your tasks into deterministic and probabilistic.</span></p><h5>Deterministic vs Probabilistic </h5><p><span>This is the architectural idea I wish someone had explained to me on Day 1.</span></p><p><span>Some tasks have </span><strong><span>one correct answer</span></strong><span>, others don&#8217;t.</span></p><p>Tasks like: validating email addresses, removing duplicate guests, counting attendees are all <strong>deterministic</strong>. Whereas, writing a warm &amp; engaging invitation, suggesting themes, recommending color pallets are all <strong>probabilistic</strong>.</p><p><span>Here&#8217;s a good rule of thumb:</span></p><p><strong><span>If you could write it as a Python function, don&#8217;t ask an LLM to do it.</span></strong></p><p><span>Suppose you&#8217;re building an AI invitation assistant.</span></p><p><span>Don&#8217;t ask: &#8220;Find all attendees that said yes and sum up the total number and recommend party favors.&#8221; Your code can already determine the yes and sum up the number of attendees. Then tell the LLM: &#8220;The total number of kids attending the party are 12 within an age range of 3-4. Recommend party favors for a dinosaur theme. Budget $10&#8221;</span></p><p><span>Detection belongs in code. Explanation belongs to the model.</span></p><h4>4. Parse everything</h4><p><span>One of the earliest mistakes I made was trusting the model. It looked like JSON but it wasn&#8217;t exactly JSON. After an hour of searching through the blob and painfully keeping my eyes wide open to catch the issue I discovered that there was one trailing comma that was making my application explode. (I could have asked GPT or Claude to do it for me, but well I&#8217;m budgeting my monthly spend and was painfully close to my quota). I learnt my lesson.</span></p><p><span>Never trust raw model output. Validate it.</span></p><p><span>Use tools like Pydantic, JSON schemas, or structured outputs, but always create a clean boundary between: AI-generated text and application objects.</span></p><p><span>Think of it exactly like validating API responses, because that&#8217;s essentially what you&#8217;re doing.</span></p><h4>5. Feedback</h4><p><span>Sometimes the response is good enough. Sometimes it isn&#8217;t. Maybe validation failed, or important information was missing, or you needed another tool call.</span></p><p><span>This is your application&#8217;s control flow. Not the model&#8217;s. Eventually this evolves into agents.</span></p><p><span>But even sophisticated AI agents are fundamentally doing this:</span></p><p><span>Observe, Think, Act. Repeat.  It&#8217;s just a loop.</span></p><div><hr></div><h2>The Principle That Feels Wrong</h2><p><span>When people discover LLMs, they naturally ask: &#8220;Where else can I add AI?&#8221;</span></p><p><span>I&#8217;ve slowly come to appreciate the opposite philosophy.</span></p><p><strong><span>Use as little AI as possible.</span></strong></p><p><span>It sounds almost anti-AI. It isn&#8217;t. It&#8217;s pro-engineering.</span></p><p><span>Imagine you have this workflow.</span></p><ol><li><p><span>Fetch calendar</span></p></li><li><p><span>Filter meetings</span></p></li><li><p><span>Find conflicts</span></p></li><li><p><span>LLM summarizes day in a parsed object</span></p></li></ol><p><span>One model call. </span><em><span>Beautiful</span></em><span>.</span></p><p><span>Now imagine if we would have called LLM for every single step - to parse calendar, to find meetings, to detect conflicts, summarize and then format. 5 different opportunities to hallucinate, compounding latencies, future debugging nightmares and added costs in the billing cycles due to several more tokens getting involved.</span></p><div><hr></div><h2><strong><span>My Biggest Takeaway</span></strong></h2><p><span>Coming from years of building experience, I expected AI to require me to unlearn everything. Instead, I&#8217;ve found the opposite. Good AI architecture looks remarkably similar to good software architecture.</span></p><ul><li><p><span>Clear interfaces.</span></p></li><li><p><span>Single responsibility.</span></p></li><li><p><span>Validation.</span></p></li><li><p><span>Observability.</span></p></li><li><p><span>Retry logic.</span></p></li><li><p><span>Separation of concerns.</span></p></li></ul><p><span>The only difference is that one component occasionally responds with something wonderfully insightful&#8230; and occasionally has a habit of hallucinating.</span></p><p><span>If there&#8217;s one lesson I&#8217;d internalize, it&#8217;s this: </span><strong><span>Don&#8217;t build prompts. Build systems.</span></strong></p><p><span>Prompts will change. Models will improve. Frameworks will come and go. Good architecture lasts longer and enables faster improvements.</span></p><p><span>Ironically, the secret to building great AI applications isn&#8217;t adding more AI. It&#8217;s knowing where </span><strong><span>not</span></strong><span> to use it.</span></p>]]></content:encoded></item><item><title><![CDATA[What even is Time anymore?]]></title><description><![CDATA[Building and deploying my personal website in under an hour.]]></description><link>https://pallavroxy.substack.com/p/what-even-is-time-anymore</link><guid isPermaLink="false">https://pallavroxy.substack.com/p/what-even-is-time-anymore</guid><dc:creator><![CDATA[Pallav Roxy]]></dc:creator><pubDate>Fri, 26 Jun 2026 20:33:40 GMT</pubDate><content:encoded><![CDATA[<p><span>According to historians any event is eligible to be included in history, when it has sufficient documentation, a clear historical impact, and enough temporal distance (often 20+ years) to allow historians to analyze them objectively. But in this fast moving world of technology, do you actually need 20+ years to analyze things objectively? Could history be just a few years? Can eras be defined as only a few model releases apart?</span></p><p><span>There was a time, when building a personal website meant, a lot of hours and steps: </span></p><ol><li><p><span>buying a domain, </span></p></li><li><p><span>configuring hosting manually, </span></p></li><li><p><span>fighting CSS like you have serious bones to pick with it, </span></p></li><li><p><span>and spending 14 hours trying to vertically center a div. </span></p></li></ol><p><span>Back then, </span><strong><span>full stack engineer</span></strong><span> was basically corporate language for: &#8220;</span><em><span>Congratulations, you now suffer across multiple layers of the application.</span></em><span>&#8221;</span></p><p><span>And as someone who started her career during that phase, let me tell you &#8212; frontend development was not for the weak hearted.</span></p><h2><strong><span>The JSF Era</span></strong></h2><p><span>This was the time when web development built character, well mostly through suffering and pain. When I started as a full stack engineer, the frontend stack looked very different. We had: JSFs, JSPs, Struts, Spring MVC, XML config files etc. Frontend wasn&#8217;t really </span><em><span>frontend</span></em><span> It was more like: </span><em><span>Backend engineers reluctantly generating HTML.</span></em></p><p><span>You didn&#8217;t </span><em><span>build delightful user experiences</span></em><span>. You fought: </span><em><span>component lifecycle issues, state management, unexplained breaking AJAX partial page refreshes, stack traces that you could get lost in</span></em><span>. A single button click would involve about at least 6 different steps including the most important one - </span><em><span>praying that it all works</span></em><span>. And even after that if something failed? The browser would simply display:</span><span data-color="#ff0000" style="color: rgb(255, 0, 0);"> </span>ViewExpiredException. Or maybe it worked on Firefox but not on Internet Explorer.</p><p><span>Which honestly sounded less like an error and more like a medieval curse.</span></p><h2><strong><span>The Frontend Renaissance</span></strong></h2><p><span>Yes, I am comparing it with the Renaissance - the period of art and cultural growth. Frontend engineering transformed dramatically, we had a stream of frontend art-movements the likes of Angular, React, Vue, TypeScript etc. Focus shifted to creating delightful aesthetic experiences and worrying about component libraries, client-side, server-side or static rendering, hydration, reusability. At some point, keeping up with frontend evolution began to feel like: </span><em><span>Every six months the internet collectively decides we were building websites incorrectly.</span></em></p><p><span>Frameworks became shinier, tooling became smarter, but build systems became&#8230; more emotionally complicated. And somehow we all collectively accepted that installing a frontend app should require: 2 GB of node_modules, 14 package updates, and at least one </span><em><span>critical</span></em><span> dependency vulnerability.</span></p><h2><strong><span>New Age</span></strong></h2><p><span>Fast forward to today. Welcome to the new age of vibes-based development. I recently decided to build my personal website using  v0 by Vercel and deploy it using Vercel.</span></p><p><span>And honestly? The experience felt illegal. Instead of architecting everything manually, I basically described what I wanted: </span><em><span>Minimal personal website with projects, blogs, modern design, subtle colors.</span></em></p><p><span>And v0 just&#8230; generated it.</span></p><p><span>Not a rough mockup. Not a wireframe held together by optimism. An actual polished UI.</span></p><p><span>Within minutes, I had what I had asked for: fully functional responsive layouts, clean components, sections for blogs and projects, modern typography and design consistency that suggested I knew what I was doing. In all honesty, I did not.</span></p><p><span>The truly abnormal thing about modern AI-assisted development is how quickly it convinces you that you are now:</span></p><ul><li><p><span>a frontend engineer</span></p></li><li><p><span>a UX designer</span></p></li><li><p><span>and possibly a creative director</span></p></li></ul><p><span>Suddenly I had opinions about spacing scales, color palettes, motion design, hover states, whether a section </span><em><span>felt too visually loud</span></em><span>. At one point, I caught myself saying </span><em><span>Can we make this feel more calm but still intellectually curious?</span></em></p><p><span>Meanwhile 2012-me was somewhere in the background still trying to debug a JSF managed bean.</span></p><h2><strong><span>Deploying on Vercel with Main Character Energy</span></strong></h2><p>Historically, deployment has always felt like assembling IKEA furniture where you miss one small step and have to do everything again. But Vercel removed all the drama. I connected to GitHub, clicked deploy, and boom: <em>website live</em>!! (Cue: a celebration dance.) No server provisioning, no mysterious config files, no SSH-ing into machines while pretending I fully understood Linux networking, and no praying to nginx gods.</p><p>The entire experience left me with one overwhelming realization: <em>We are entering a completely different era of software creation.</em> The distance between <em>I have an idea</em> and <em>this exists on the internet</em> has collapsed dramatically. Instead of needing deep frontend expertise, pixel-perfect design skills, DevOps specialization, or emotional resilience against webpack configuration, what will suffice is your curiosity, your ideas, and the ability to describe what you want reasonably well. Which is both incredibly empowering and mildly terrifying &#8212; and enough to set off a small storm of existential thoughts.</p><h2>So&#8230; What Even Is Time Anymore?</h2><p>Let me return to the question I opened with, now that I&#8217;ve confessed to having opinions about hover states.</p><p>If history only needs documentation, impact, and enough distance to look back objectively &#8212; then maybe we don&#8217;t need 20 years anymore. Maybe an era now lasts about as long as a node_modules folder stays under 2 GB. Because looking back at JSF from the vantage point of v0, the distance <em>feels</em> like decades, even though it&#8217;s mostly just me getting older and the tooling getting kinder.</p><p>But before I crown vibes-based development as the end of history, my JSF-traumatized self would like a word. So here&#8217;s what I actually believe, stripped of the celebration dance:</p><ol><li><p><strong>v0 collapsed the distance from idea to existence &#8212; not the distance from existence to </strong><em><strong>production</strong></em><strong>.</strong><span> A personal website is the friendliest possible demo. The moment you add real state, real users, real data, and the requirement that it not fall over at 2 a.m., the old complexity doesn't vanish. It just moves somewhere I haven't had to look yet. I'm suspicious for a reason. </span></p></li><li><p><strong>What changed isn't that expertise stopped mattering &#8212; it's where it moved.</strong><span> For fifteen years my value was </span><em>can I make this work</em><span>. Now the baseline answer is </span><em><span>yes, in minutes</span></em><span>, so value migrates upward: do you know what's worth building, can you tell when the generated thing is subtly wrong, and can you describe what you want precisely enough to get it? Taste, judgment, and clear thinking &#8212; the parts AI hasn't collapsed &#8212; turn out to be the parts that were always hardest to outsource.</span></p></li><li><p><strong>And so the thing I'd tell you:</strong><span> if you've been waiting to feel </span><em><span>technical enough</span></em><span> or </span><em><span>caught up</span></em><span> before you build something &#8212; that gate just got a lot lower. The cost of trying has collapsed. Open v0, describe a thing badly, and see what happens. Worst case, you've lost an hour. Best case, building and deploying something in under an hour reminds you why you fell in love with technology in the first place &#8212; it turns ideas into reality, and for the first time in a long time, it feels playful again.</span></p></li></ol><p>Just keep one eye on the console. My younger, JSF-traumatized self insists the NullPointerException is still out there somewhere, biding its time.</p>]]></content:encoded></item><item><title><![CDATA[Making life easier with AI]]></title><description><![CDATA[A parent&#8217;s secret weapon for bedtime survival (originally posted on Medium on Nov 8, 2024]]></description><link>https://pallavroxy.substack.com/p/making-life-easier-with-ai</link><guid isPermaLink="false">https://pallavroxy.substack.com/p/making-life-easier-with-ai</guid><dc:creator><![CDATA[Pallav Roxy]]></dc:creator><pubDate>Tue, 19 May 2026 18:37:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!HiNT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bca7cc1-463b-47e4-8f05-e3467fac3adb_1400x951.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Ah, bedtime stories. The sacred nighttime ritual where we parents transform into improv actors, wise sages, and (ahem) Pulitzer-winning storytellers &#8212; at least in our heads. Believe me I had started off strong, moving from just reading her books, I had taken a lot of pride in my ease of coming up with bedtime stories, but soon it ended up in me starting a story with great enthusiasm only to accidently doze off somewhere around &#8220;Once upon a time&#8230;&#8221;</p><p>So I thought I&#8217;d revolutionize bedtime with a little tech twist. Enter: ChatGPT and Google Gemini, my two AI co-authors, here to bring me into the future of storytelling and, fingers crossed, a faster bedtime (well one has the liberty to wish!).</p><p><strong>ChatGPT, Let&#8217;s Roll!</strong></p><p>So, there I am, sitting cross-legged in my daughter&#8217;s bedroom, equipped with my phone, sleepy and tired. I pull up ChatGPT, ready to impress my her with a tale spun by technology. I simply type, <em>&#8220;Write a bedtime story for a 2 year old.&#8221; </em>ChatGPT doesn&#8217;t disappoint. Within seconds, I have a story about a tiny bunny Bella who wants to find the biggest carrot!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HiNT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bca7cc1-463b-47e4-8f05-e3467fac3adb_1400x951.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HiNT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bca7cc1-463b-47e4-8f05-e3467fac3adb_1400x951.png 424w, https://substackcdn.com/image/fetch/$s_!HiNT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bca7cc1-463b-47e4-8f05-e3467fac3adb_1400x951.png 848w, https://substackcdn.com/image/fetch/$s_!HiNT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bca7cc1-463b-47e4-8f05-e3467fac3adb_1400x951.png 1272w, https://substackcdn.com/image/fetch/$s_!HiNT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bca7cc1-463b-47e4-8f05-e3467fac3adb_1400x951.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HiNT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bca7cc1-463b-47e4-8f05-e3467fac3adb_1400x951.png" width="1400" height="951" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5bca7cc1-463b-47e4-8f05-e3467fac3adb_1400x951.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:951,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!HiNT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bca7cc1-463b-47e4-8f05-e3467fac3adb_1400x951.png 424w, https://substackcdn.com/image/fetch/$s_!HiNT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bca7cc1-463b-47e4-8f05-e3467fac3adb_1400x951.png 848w, https://substackcdn.com/image/fetch/$s_!HiNT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bca7cc1-463b-47e4-8f05-e3467fac3adb_1400x951.png 1272w, https://substackcdn.com/image/fetch/$s_!HiNT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bca7cc1-463b-47e4-8f05-e3467fac3adb_1400x951.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>My daughter is hooked, I&#8217;m riding the wave of storytelling glory, and I feel like I&#8217;ve cracked the bedtime code. But what I forget is the unexpected ways a 2 year old&#8217;s curious mind could work and thus I see how a new story has given a new boost of energy to my child and thus starts a flurry of squeals:</p><p>&#8220;Now bunny wants radish, let&#8217;s go Mumma!&#8221;<br>&#8220;I want a carrot!&#8221;<br>&#8220;Hop like a bunny mumma, hop like a bunny!&#8221;</p><p>The last one is a red flag. It&#8217;s clear this is going sideways. Time to switch gears.</p><p><strong>Enter Google Gemini for Reinforcements</strong></p><p>I switch to Google Gemini, thinking, <em>&#8220;Alright, Gemini, give me a hand here.&#8221;</em>Imagining that Gemini&#8217;s got this calm, refined vibe &#8212; like the librarian of AIs. I give the same prompt to Gemini, hoping for a little less exciting story that could potentially bore her to sleep.</p><p>Within moments, I&#8217;ve got a tale of a little cloud named Puff who had a great time playing with butterflies in the field and got tired and drifted off to sleep. Ahh, what a great ending, Good night Puff I said and Good night kiddo! Time for bed now.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!P3U_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabb73574-429e-4fc6-b55d-7d7fce8f1869_1390x1128.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!P3U_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabb73574-429e-4fc6-b55d-7d7fce8f1869_1390x1128.png 424w, https://substackcdn.com/image/fetch/$s_!P3U_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabb73574-429e-4fc6-b55d-7d7fce8f1869_1390x1128.png 848w, https://substackcdn.com/image/fetch/$s_!P3U_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabb73574-429e-4fc6-b55d-7d7fce8f1869_1390x1128.png 1272w, https://substackcdn.com/image/fetch/$s_!P3U_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabb73574-429e-4fc6-b55d-7d7fce8f1869_1390x1128.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!P3U_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabb73574-429e-4fc6-b55d-7d7fce8f1869_1390x1128.png" width="1390" height="1128" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/abb73574-429e-4fc6-b55d-7d7fce8f1869_1390x1128.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1128,&quot;width&quot;:1390,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!P3U_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabb73574-429e-4fc6-b55d-7d7fce8f1869_1390x1128.png 424w, https://substackcdn.com/image/fetch/$s_!P3U_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabb73574-429e-4fc6-b55d-7d7fce8f1869_1390x1128.png 848w, https://substackcdn.com/image/fetch/$s_!P3U_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabb73574-429e-4fc6-b55d-7d7fce8f1869_1390x1128.png 1272w, https://substackcdn.com/image/fetch/$s_!P3U_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabb73574-429e-4fc6-b55d-7d7fce8f1869_1390x1128.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>But nope, all hail the mighty power of a toddler&#8217;s FOMO-ness. <br>&#8220;Just like Cloudette, mumma!&#8221;<br>&#8220;Rain rain go away&#8221;</p><p><strong>The Great AI Tag-Team</strong></p><p>I see it getting even more exciting and so I decide to use my intelligent assistants as a tag team to churn up more stories about Bella and Puff, in the hopes of finally tiring out the mighty little one, but all that serves up is a kid buzzing with excitement. I&#8217;m about two brain cells away from falling asleep mid-sentence.</p><p><strong>The AI Epilogue (A.K.A. The Parental Wrap-Up)</strong></p><p>At last, I declare, <em>&#8220;And so, Bella and Puff became best friends, shared the big carrot and went to bed. The end!&#8221;</em> My daughter protests, demanding to know if it rained or not.</p><p>I hit the &#8220;end story&#8221; button, tuck her in, and say &#8212; in my finest attempt at an <em>I&#8217;m-setting-a-boundary</em> voice &#8212; <em>&#8220;We&#8217;ll find out tomorrow night!&#8221;</em> (Translation: <em>Maybe tomorrow the AI will keep it short.</em>)</p><p><strong>A.I. Bedtime Storytelling &#8212; A Fun But Dangerous Game</strong></p><p>Would I recommend using ChatGPT and Google Gemini for bedtime stories? Absolutely! They&#8217;re a delightfully chaotic tag team that brings creativity, unpredictability, and an uncanny ability to engage young minds.</p><p>But beware, dear parents: bedtime stories with AIs are not for the faint of heart, nor for those who expect a <em>quick</em> lights-out. Bring snacks, plot armor, and a high tolerance for epic cliffhangers, and let the AIs do the storytelling heavy lifting &#8212; while you watch from the sidelines, laughing (and yawning) all the way.</p>]]></content:encoded></item></channel></rss>