<?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: Ishika Thakur</title>
    <description>The latest articles on DEV Community by Ishika Thakur (@ishikathakur7802).</description>
    <link>https://dev.to/ishikathakur7802</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%2F3839822%2F7c9e3570-2c04-49fa-a0ce-660069b566bf.png</url>
      <title>DEV Community: Ishika Thakur</title>
      <link>https://dev.to/ishikathakur7802</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ishikathakur7802"/>
    <language>en</language>
    <item>
      <title>PawPal is your New Dog's AI Sidekick 🐶⭐</title>
      <dc:creator>Ishika Thakur</dc:creator>
      <pubDate>Sun, 16 Aug 2026 22:13:40 +0000</pubDate>
      <link>https://dev.to/ishikathakur7802/pawpal-is-your-new-dogs-ai-sidekick-3bc8</link>
      <guid>https://dev.to/ishikathakur7802/pawpal-is-your-new-dogs-ai-sidekick-3bc8</guid>
      <description>&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;Bringing a new dog home is exciting... and also confusing.&lt;/p&gt;

&lt;p&gt;Why are they crying?&lt;br&gt;
Why are they hiding?&lt;br&gt;
Why won't they eat?&lt;br&gt;
Why are they biting my feet? 😭&lt;/p&gt;

&lt;p&gt;I built PawPal, a playful AI companion for new dog owners that helps turn those confusing moments into simple, reassuring guidance.&lt;/p&gt;

&lt;p&gt;I especially wanted PawPal to feel useful for people welcoming a rescued dog into their home, where a new environment can be overwhelming for both the dog and the person trying to understand them.&lt;/p&gt;

&lt;p&gt;You describe what's happening, and PawPal explains what might be going on, suggests a few things you can try, and gives you a playful "What your dog really means" translation.&lt;/p&gt;

&lt;p&gt;And then... you can actually hear your dog say it. 🐶🔊&lt;/p&gt;

&lt;p&gt;PawPal isn't meant to diagnose a dog or replace a veterinarian. It's a friendly first step for a confused human trying to understand their new companion.&lt;/p&gt;

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

&lt;p&gt;🐾 Try PawPal:&lt;br&gt;
&lt;a href="https://pawpalweb.netlify.app/" rel="noopener noreferrer"&gt;https://pawpalweb.netlify.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Try asking:&lt;/p&gt;

&lt;p&gt;"My rescued puppy keeps hiding under the bed. What should I do?"&lt;/p&gt;

&lt;p&gt;Then listen to "What your dog really means." 🐶&lt;/p&gt;

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

&lt;p&gt;The project is open source:&lt;br&gt;
&lt;a href="https://github.com/ishika-thakur7802/pawpal" rel="noopener noreferrer"&gt;https://github.com/ishika-thakur7802/pawpal&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;PawPal is a small React/Vite application backed by Netlify serverless functions.&lt;/p&gt;

&lt;p&gt;The basic flow is:&lt;/p&gt;

&lt;p&gt;User → React UI → Netlify Function → Google Gemini → PawPal response&lt;/p&gt;

&lt;p&gt;For the voice experience:&lt;/p&gt;

&lt;p&gt;PawPal response → ElevenLabs → audio → user&lt;/p&gt;

&lt;p&gt;I used Google Gemini to generate the personalized responses. The prompt gives PawPal a specific personality and structure so that responses stay concise, friendly, practical, and appropriate for someone who may be a first-time dog owner.&lt;/p&gt;

&lt;p&gt;I then used ElevenLabs to turn the playful "What your dog really means" part into speech.&lt;/p&gt;

&lt;p&gt;I kept the project intentionally small. Rather than building a huge pet-management platform, I focused on one interaction:&lt;/p&gt;

&lt;p&gt;"I don't understand what my dog is doing. Help."&lt;/p&gt;

&lt;p&gt;The rescued-dog prompts were also designed to require no additional backend complexity — they simply give new adopters useful starting questions.&lt;/p&gt;

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

&lt;p&gt;🌟 Best Use of Google AI&lt;/p&gt;

&lt;p&gt;PawPal uses Google Gemini as the core reasoning layer.&lt;/p&gt;

&lt;p&gt;Gemini takes the owner's description of what's happening and generates a personalized response with:&lt;/p&gt;

&lt;p&gt;what might be happening&lt;br&gt;
practical things the owner can try&lt;br&gt;
when professional help may be appropriate&lt;br&gt;
a playful interpretation from the dog's perspective&lt;/p&gt;

&lt;p&gt;The AI isn't just decorating the interface — the main purpose of PawPal depends on it.&lt;/p&gt;

&lt;p&gt;🌟 Best Use of ElevenLabs&lt;/p&gt;

&lt;p&gt;ElevenLabs powers PawPal's voice experience.&lt;/p&gt;

&lt;p&gt;After Gemini generates the dog's playful "translation," ElevenLabs turns it into audio so the user can hear what their dog is supposedly trying to say. 🐶&lt;/p&gt;

&lt;p&gt;That was important to me because the interaction should feel fun rather than like filling out another AI form.&lt;/p&gt;

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

&lt;p&gt;I wanted to make something that could be genuinely useful during those first confusing days of having a new dog — especially when that dog has come from a rescue situation and both sides are still learning to trust each other.&lt;/p&gt;

&lt;p&gt;Sometimes you don't need another complicated pet platform.&lt;/p&gt;

&lt;p&gt;You just need someone to say:&lt;/p&gt;

&lt;p&gt;"Okay. Your dog is probably trying to tell you something. Let's figure it out." 🐾&lt;/p&gt;

&lt;p&gt;Built for the DEV Weekend Challenge: Dog Days Edition.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>ai</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Building eXtab #1: The Problem</title>
      <dc:creator>Ishika Thakur</dc:creator>
      <pubDate>Mon, 13 Jul 2026 07:23:18 +0000</pubDate>
      <link>https://dev.to/ishikathakur7802/building-extab-1-the-problem-2pio</link>
      <guid>https://dev.to/ishikathakur7802/building-extab-1-the-problem-2pio</guid>
      <description>&lt;p&gt;&lt;strong&gt;how many tabs are currently open in your window?&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;how many do you remember the context for?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;if you're a fellow techie too, i know you too have been through one of those days with an endless number of tabs open in the window and having no clue where the music is coming from?&lt;/p&gt;

&lt;p&gt;Hi there, I'm Ishika and I faced the same problem. It actually became crazy when I started working in the Incident Response Team. There would be duplicate tabs of logs, dashboards, documentations and so much more.&lt;/p&gt;

&lt;p&gt;I could have just closed the window- but ouch! it'd have definitely hurt. :(&lt;/p&gt;

&lt;p&gt;the emotional attachment to my tabs led me to build &lt;strong&gt;eXtab&lt;/strong&gt;-&lt;br&gt;
&lt;em&gt;a smart chrome extension that sits on your window and helps you understand your tabs better&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;why a chrome extension?&lt;br&gt;
honestly:&lt;br&gt;
A. not one more tab please&lt;br&gt;
B. i'm genuinely intrigued by how powerful but how underrated web extensions are!!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;so the current techstack is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;JavaScript (ES6)&lt;/li&gt;
&lt;li&gt;Chrome Extensions Manifest V3&lt;/li&gt;
&lt;li&gt;Chrome Tabs API&lt;/li&gt;
&lt;li&gt;Chrome Storage API&lt;/li&gt;
&lt;li&gt;HTML&lt;/li&gt;
&lt;li&gt;CSS&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Architecture&lt;/strong&gt;&lt;/p&gt;

&lt;p&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%2F05zg17w6rewr3xbc1int.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F05zg17w6rewr3xbc1int.png" alt="basic architechture of eXtab" width="555" height="505"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Current Features&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Read All Open Tabs&lt;/strong&gt;&lt;br&gt;
Displays every currently open browser tab.&lt;/p&gt;

&lt;p&gt;Reads tab title&lt;br&gt;
Reads tab URL&lt;br&gt;
Retrieves all open tabs using the Chrome Tabs API&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Detect Duplicate Tabs&lt;/strong&gt;&lt;br&gt;
Identifies duplicate tabs based on their URLs.&lt;/p&gt;

&lt;p&gt;Example:&lt;/p&gt;

&lt;p&gt;YouTube&lt;br&gt;
YouTube&lt;br&gt;
YouTube&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;Duplicate found (3)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Remove Duplicate Tabs&lt;/strong&gt;&lt;br&gt;
Automatically closes duplicate tabs while preserving one instance.&lt;/p&gt;

&lt;p&gt;This helps reduce browser clutter without manually searching for duplicates.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Show Idle Tabs (4h+)&lt;/strong&gt;&lt;br&gt;
Tracks browser activity and lists tabs that haven't been accessed for more than 4 hours.&lt;/p&gt;

&lt;p&gt;Displays:&lt;/p&gt;

&lt;p&gt;Tab title&lt;br&gt;
Idle duration&lt;br&gt;
Number of idle tabs detected&lt;br&gt;
Example:&lt;/p&gt;

&lt;p&gt;Number of Idle Tabs: 9&lt;/p&gt;

&lt;p&gt;YouTube — Idle for 20 hours&lt;br&gt;
Pinterest — Idle for 20 hours&lt;br&gt;
LeetCode — Idle for 22 hours&lt;/p&gt;

&lt;p&gt;The user can then either navigate to the tab, close the tab or review the tab.&lt;/p&gt;

&lt;p&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%2Flxzfzpoxvx3vq7wzmriz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flxzfzpoxvx3vq7wzmriz.png" alt="eXtab screenshot" width="498" height="612"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&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%2F7yqf7gdj8b30s4415k5f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7yqf7gdj8b30s4415k5f.png" alt="eXtab screenshot" width="517" height="730"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&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%2Fvkbio22fk91id021yg8m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvkbio22fk91id021yg8m.png" alt="eXtab screenshot" width="513" height="730"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>programming</category>
      <category>javascript</category>
      <category>productivity</category>
      <category>extensions</category>
    </item>
  </channel>
</rss>
