<?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: Jyotish Pabbisetti</title>
    <description>The latest articles on DEV Community by Jyotish Pabbisetti (@jyotish08).</description>
    <link>https://dev.to/jyotish08</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%2F3972056%2Ff8ac2196-808f-486e-8bdb-0d0eeab518ab.png</url>
      <title>DEV Community: Jyotish Pabbisetti</title>
      <link>https://dev.to/jyotish08</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jyotish08"/>
    <language>en</language>
    <item>
      <title>A Dog's Day — What If You Could Experience a Morning Through a Dog's Eyes?</title>
      <dc:creator>Jyotish Pabbisetti</dc:creator>
      <pubDate>Sun, 16 Aug 2026 16:49:12 +0000</pubDate>
      <link>https://dev.to/jyotish08/a-dogs-day-what-if-you-could-experience-a-morning-through-a-dogs-eyes-2g7g</link>
      <guid>https://dev.to/jyotish08/a-dogs-day-what-if-you-could-experience-a-morning-through-a-dogs-eyes-2g7g</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href="https://dev.to/challenges/weekend-2026-08-13"&gt;Weekend Challenge: Dog Days Edition&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;We know what our dogs do all day.&lt;/p&gt;

&lt;p&gt;We don't really know what that day feels like to them.&lt;/p&gt;

&lt;p&gt;I built &lt;strong&gt;A Dog's Day&lt;/strong&gt; to explore that idea as a single interactive experience rather than another dog utility.&lt;/p&gt;

&lt;p&gt;You start by scrolling through a Golden Retriever's morning: waking up, waiting for breakfast, heading outside, meeting another dog, losing a favorite red ball, and eventually finding it again.&lt;/p&gt;

&lt;p&gt;The story is built around scroll-driven visual beats, so the page behaves more like a short interactive film than a collection of sections.&lt;/p&gt;

&lt;p&gt;Then, instead of simply ending the story, it asks:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;What if you could experience the world through the eyes of your favorite animal?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That leads into the second half of the project.&lt;/p&gt;

&lt;p&gt;Choose an animal and talk to it.&lt;/p&gt;

&lt;p&gt;The Dog character is a fictional Golden Retriever with context from the story you just experienced. Ask why the ball mattered, why everything outside smells interesting, or what it noticed when it met another dog, and the conversation is grounded in that character's perspective rather than a generic "tell me about dogs" chatbot.&lt;/p&gt;

&lt;p&gt;The experience currently includes five animal perspectives:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Golden Retriever&lt;/li&gt;
&lt;li&gt;Domestic Cat&lt;/li&gt;
&lt;li&gt;European Rabbit&lt;/li&gt;
&lt;li&gt;Red Fox&lt;/li&gt;
&lt;li&gt;Gray Wolf&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The idea is simple: &lt;strong&gt;the same world can feel very different depending on who is experiencing it.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Live:&lt;/strong&gt; &lt;a href="https://dev-cha-git-main-jyotishpabbisetti2025-1209s-projects.vercel.app/" rel="noopener noreferrer"&gt;https://dev-cha-git-main-jyotishpabbisetti2025-1209s-projects.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Video:&lt;/strong&gt; &lt;a href="https://youtu.be/WRw55khrIBI" rel="noopener noreferrer"&gt;https://youtu.be/WRw55khrIBI&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The demo shows the project as one continuous experience:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the opening story&lt;/li&gt;
&lt;li&gt;the missing-ball sequence&lt;/li&gt;
&lt;li&gt;the transition into the animal experience&lt;/li&gt;
&lt;li&gt;a voice conversation with the Dog&lt;/li&gt;
&lt;li&gt;interruption while the character is speaking&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The part I wanted to get right is the transition from &lt;strong&gt;watching the story&lt;/strong&gt; to &lt;strong&gt;being able to talk to the character inside it&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/Jyotish08/dev-cha" rel="noopener noreferrer"&gt;https://github.com/Jyotish08/dev-cha&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The project is a single Next.js application using the App Router.&lt;/p&gt;

&lt;p&gt;The story is organized around reusable components for scroll progress, scene beats, media, typography, and the transition into the interactive chapter.&lt;/p&gt;

&lt;p&gt;The conversation system has separate animal configurations, a voice conversation state layer, a Gemini Live WebSocket client, and a fallback API path.&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;The first half is a small story engine.&lt;/p&gt;

&lt;p&gt;Each chapter has authored visual beats and text, and the user's scroll position determines which beat is active. The story uses sticky full-screen sections with Motion to control the pacing and crossfade between the story frames.&lt;/p&gt;

&lt;p&gt;For example, the four main chapters are:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Morning Comes Quietly&lt;/strong&gt; — the dog wakes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Breakfast&lt;/strong&gt; — anticipation, eating, and the empty bowl.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Walk&lt;/strong&gt; — the neighborhood, another dog, and the dog's sense of smell.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Missing Ball&lt;/strong&gt; — chase, loss, searching, discovery, and getting the ball back.&lt;/p&gt;

&lt;p&gt;The visual layer combines 1536×1024 story frames with short ambient MP4 overlays. The frames carry the actual narrative beats, while the videos add movement without making every moment depend on a full video sequence.&lt;/p&gt;

&lt;p&gt;The second half is where the architecture changes.&lt;/p&gt;

&lt;p&gt;Instead of sending recorded speech to a normal text-generation endpoint and then using browser text-to-speech, I connected the conversation directly to Google's &lt;strong&gt;Gemini Multimodal Live API&lt;/strong&gt; over a persistent WebSocket.&lt;/p&gt;

&lt;p&gt;Microphone audio is captured as 16 kHz linear PCM and streamed to Gemini. The returned 24 kHz audio is scheduled through the Web Audio API for continuous playback.&lt;/p&gt;

&lt;p&gt;That matters because the interaction is supposed to feel like a conversation, not:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;record → wait → generate → speak.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The Live connection also supports interruption. If the Dog is speaking and the user starts talking, the current playback can be stopped and the conversation can continue from the new turn.&lt;/p&gt;

&lt;p&gt;The animal personalities are configured separately. The Dog's system instructions include the fictional events from the story itself, including breakfast, the walk, the other dog, and the red ball. That lets the conversation continue from the story instead of starting from zero at the bottom of the page.&lt;/p&gt;

&lt;p&gt;There is also a fallback path for the parts of the experience that depend on external AI services. Gemini rate limits, network conditions, microphone permissions, and temporary connection failures can all affect a live session, so the project does not silently pretend a failed request succeeded. A secondary Gemini text-streaming path and an offline scripted mode are available when the live connection cannot be established.&lt;/p&gt;

&lt;p&gt;The goal was not to make the project depend on AI for every part.&lt;/p&gt;

&lt;p&gt;The goal was to use Google AI exactly where it changes the experience:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;the story shows you the animal's world; Gemini Live lets you talk from inside it.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Best Use of Google AI
&lt;/h3&gt;

&lt;p&gt;I am submitting &lt;strong&gt;A Dog's Day&lt;/strong&gt; for &lt;strong&gt;Best Use of Google AI&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Gemini is not being used as a wrapper around a normal chatbot.&lt;/p&gt;

&lt;p&gt;The interactive chapter uses the &lt;strong&gt;Gemini Multimodal Live API&lt;/strong&gt; for the core voice experience: continuous microphone input, streamed spoken responses, story-aware animal personas, and interruption handling.&lt;/p&gt;

&lt;p&gt;Remove Gemini Live from that part of the project and the central interaction changes completely.&lt;/p&gt;

&lt;p&gt;The technology is what allows the final chapter to move from:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"Here is a story about a dog."&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;to:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"You can actually talk to the animal whose morning you just followed."&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
    </item>
    <item>
      <title>The Ten Days I Wasted My AI Usage Limits (And What I Learned After)</title>
      <dc:creator>Jyotish Pabbisetti</dc:creator>
      <pubDate>Thu, 06 Aug 2026 16:33:07 +0000</pubDate>
      <link>https://dev.to/jyotish08/the-ten-days-i-wasted-my-ai-usage-limits-and-what-i-learned-after-239h</link>
      <guid>https://dev.to/jyotish08/the-ten-days-i-wasted-my-ai-usage-limits-and-what-i-learned-after-239h</guid>
      <description>&lt;p&gt;For almost four months, I did nothing but dream. I would think up a product, imagine how it would work, picture it finished — and never write a single line of code. In my head, building it was the easy part. I had ChatGPT and Claude. How hard could it be?&lt;/p&gt;

&lt;p&gt;Then summer break came. May 2026. And one thought kept hitting me: I had spent four months thinking about products and zero months building them.&lt;/p&gt;

&lt;p&gt;So I decided to actually start.&lt;/p&gt;

&lt;p&gt;The naive part&lt;/p&gt;

&lt;p&gt;People had already warned me — learn the basics first, don't skip the fundamentals. I nodded along, but I didn't really believe that was the real problem. I still thought AI was some kind of magician. Explain the idea, get the code, done. One idea, one solution, no friction.&lt;/p&gt;

&lt;p&gt;Here's how naive I actually was: I would describe my idea to ChatGPT, ask it for a plan and a prompt, then copy that prompt straight into my IDE — without reading what the prompt actually told the AI to do. I just trusted it.&lt;/p&gt;

&lt;p&gt;The output, unsurprisingly, was often the opposite of what I wanted. I burned through my usage limits chasing fixes for problems I had created myself, just by not reading my own prompts.&lt;/p&gt;

&lt;p&gt;The part nobody warns you about&lt;/p&gt;

&lt;p&gt;The real barrier was never syntax or libraries. It was the gap between having an idea in your head and actually turning it into something real. That gap doesn't show up in any tutorial. You only find it by trying to cross it — and falling in.&lt;/p&gt;

&lt;p&gt;What changed&lt;/p&gt;

&lt;p&gt;The first ten days were pure confusion. But somewhere after that, things started clicking. I learned actual prompt engineering — not just "ask nicely," but understanding what a prompt does before I run it. I got a real feel for what AI is actually good at, and where it quietly hands you garbage dressed up as an answer.&lt;/p&gt;

&lt;p&gt;Oddly, this made me a better programmer, not a lazier one. Reading and correcting AI output forced me to understand code faster than writing it alone ever did. I started filling the gaps AI left with my own thinking, instead of just more prompts.&lt;/p&gt;

&lt;p&gt;It also made me more consistent — not just in coding, but in how I studied and how I showed up to work every day.&lt;/p&gt;

&lt;p&gt;The one thing I'd tell myself in May&lt;/p&gt;

&lt;p&gt;None of this — the prompt engineering, the sharper code sense, the consistency — happens if I don't take that first messy, confused step. The confusion wasn't a sign I was doing it wrong. It was the cost of finally doing it at all.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>**Rivalry Roast** — you talk smack about your team or favorite player, out loud, and an AI rival fan claps back at you, in voice, in real time.</title>
      <dc:creator>Jyotish Pabbisetti</dc:creator>
      <pubDate>Mon, 13 Jul 2026 02:26:21 +0000</pubDate>
      <link>https://dev.to/jyotish08/rivalry-roast-you-talk-smack-about-your-team-or-favorite-player-out-loud-and-an-ai-rival-mc5</link>
      <guid>https://dev.to/jyotish08/rivalry-roast-you-talk-smack-about-your-team-or-favorite-player-out-loud-and-an-ai-rival-mc5</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href="https://dev.to/challenges/weekend-2026-07-09"&gt;Weekend Challenge: Passion Edition&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;Tomorrow I have my semester exam. Between assignments, revision, and general exam-season chaos, my schedule right now is not exactly forgiving. And yet — every day, no matter how packed things get, I carve out an hour, sometimes an hour and a half, just to build. Not because I have to. Because it's the one part of my day that actually feels like &lt;em&gt;mine&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;So when this challenge landed during exam week, it felt less like bad timing and more like an invitation. I'm a solo developer on this one, and I'm also a lifelong football fan — Ronaldo has been my guy for as long as I can remember. Building something around fan passion and rivalry wasn't a stretch for me; it's basically autobiographical.&lt;/p&gt;

&lt;p&gt;The goal was simple: talk smack, get roasted back — out loud, not just in text.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;Youtube demo link(&lt;a href="https://youtube.com/shorts/QNnVdpfzGNE?si=GFmKuYos3FgXRtx4" rel="noopener noreferrer"&gt;https://youtube.com/shorts/QNnVdpfzGNE?si=GFmKuYos3FgXRtx4&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev-uq5k.onrender.com" rel="noopener noreferrer"&gt;https://dev-uq5k.onrender.com&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/Jyotish08/dev" rel="noopener noreferrer"&gt;https://github.com/Jyotish08/dev&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;The flow is simple to describe but has three real moving parts: you speak your trash talk, it gets converted to text, that text goes to an AI for a witty comeback, and the comeback gets converted back into voice so you actually &lt;em&gt;hear&lt;/em&gt; the rival roast you.&lt;/p&gt;

&lt;p&gt;I used &lt;strong&gt;Groq&lt;/strong&gt; for speech-to-text, &lt;strong&gt;Google Gemini&lt;/strong&gt; for generating the roast itself, and &lt;strong&gt;ElevenLabs&lt;/strong&gt; for turning that roast into voice.&lt;/p&gt;

&lt;p&gt;The voice piece was the part I was most excited about, and it wasn't totally unfamiliar territory — I've built voice cloning from scratch before, using open-source models, piecing together my own pipeline to get a voice to sound right. This was my first time using ElevenLabs specifically, and it was humbling: what used to take real pipeline-building effort on my end, it handled almost instantly once I found my footing with it.&lt;/p&gt;

&lt;p&gt;Gemini impressed me just as much on the other side — fast turnaround, and it consistently understood the tone I was going for without me needing to over-engineer the prompt.&lt;/p&gt;

&lt;p&gt;The part nobody tells you about: building the idea took maybe twenty minutes of thinking. Getting it &lt;em&gt;working&lt;/em&gt; took closer to two hours, and almost all of that time went into APIs that had quietly moved on without telling me. A model I called by name had already been retired. A voice model I picked had been phased out on the free tier. The specific voice I wanted wasn't available to my account at all due to a free-tier restriction I didn't know existed. Deployment brought its own round of small chaos — a build tool throwing a permission error, a config silently skipping a dependency it needed, a server going live but unable to find its own front end.&lt;/p&gt;

&lt;p&gt;None of these were dramatic bugs individually — each took a couple of minutes to fix once I knew what it was. But stacked back-to-back, on exam eve, with the clock ticking, it turned into a genuine debugging crawl through error messages and dashboards. And honestly, that's passion too — not just the fun highlight-reel part, but the part where something keeps refusing to work and you keep showing up anyway because you already care too much to walk away.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;p&gt;Best Use of Google AI, Best Use of ElevenLabs&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
    </item>
    <item>
      <title>Building Confidence out of Chaos: How Copilot Saved My First AI Project</title>
      <dc:creator>Jyotish Pabbisetti</dc:creator>
      <pubDate>Sun, 07 Jun 2026 06:04:10 +0000</pubDate>
      <link>https://dev.to/jyotish08/building-confidence-out-of-chaos-how-copilot-saved-my-first-ai-project-1f9i</link>
      <guid>https://dev.to/jyotish08/building-confidence-out-of-chaos-how-copilot-saved-my-first-ai-project-1f9i</guid>
      <description>&lt;p&gt;This is a submission for the GitHub Finish-Up-A-Thon Challenge&lt;/p&gt;

&lt;p&gt;What I Built&lt;br&gt;
I built Local PDF, a completely local, privacy-first utility website designed to handle all your PDF processing needs right in the browser. The idea started because I wanted a fast, reliable tool that didn't force users to upload their sensitive documents to the cloud. As I navigate my first year of computer science, what makes this project so meaningful to me is that it was my true gateway into advanced, real-world development. It wasn't just another assignment; it was something I built from scratch to solve a real problem.&lt;/p&gt;

&lt;p&gt;Demo:&lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://localpdf.dev/" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flocalpdf.dev%2Fog-image.png" height="800" class="m-0" width="800"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://localpdf.dev/" rel="noopener noreferrer" class="c-link"&gt;
            Localpdf — Your PDFs. Done in Seconds. Right in Your Browser.
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Free online PDF tools that work entirely in your browser. Compress, merge, and split PDFs instantly with no uploads, no registration, and no data stored.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flocalpdf.dev%2Ffavicon.ico%3Ffavicon.0x3dzn~oxb6tn.ico" width="256" height="256"&gt;
          localpdf.dev
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;The Comeback Story&lt;br&gt;
When I first started this project, my workflow was a complete mess. It was entirely disconnected. At one crucial point, the app was lagging horribly, the components were breaking, and I couldn't figure out why. I sat there for 45 incredibly frustrating minutes, just staring at my screen, trying to trace the errors by myself.&lt;/p&gt;

&lt;p&gt;It was my very first time experimenting with AI agents in a development environment, and the complexity felt overwhelming. Honestly, I was completely drained. I was so close to just shutting my laptop, throwing my hands up, and postponing the whole thing for "tomorrow"—which, let's be real, often means abandoning it entirely. The barrier felt too high.&lt;/p&gt;

&lt;p&gt;But instead of giving up, I decided to try a different approach. I stepped back, engineered a clear prompt to gather my thoughts using ChatGPT, and then I turned to the auto model selection feature in GitHub Copilot right inside VS Code.&lt;/p&gt;

&lt;p&gt;My Experience with GitHub Copilot&lt;br&gt;
That decision completely turned the project around. I asked Copilot to analyze the repository, and within just a few minutes, it handed me a comprehensive report detailing exactly where the bottlenecks were and why the app was breaking. I was absolutely blown away by how it handled the chaos of my code. I applied the changes it suggested, and it worked flawlessly.&lt;/p&gt;

&lt;p&gt;If Copilot hadn't helped me in that exact moment, that bug would have been the end of the road for Local PDF. But more importantly, solving that problem gave me an incredible surge of confidence. It made me realize that I can build complex, ambitious things. Since that night, I've gone on to build multiple other projects, and I haven't felt those negative emotions or the heavy weight of imposter syndrome while coding ever again. Copilot didn't just fix my code; it changed how I feel about being a developer.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>githubchallenge</category>
    </item>
  </channel>
</rss>
