<?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: Anand Kore</title>
    <description>The latest articles on DEV Community by Anand Kore (@anand_kore_4b80ce1464ef39).</description>
    <link>https://dev.to/anand_kore_4b80ce1464ef39</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3748441%2F51c7b0cf-f083-4721-b978-8d7824ed68c5.jpg</url>
      <title>DEV Community: Anand Kore</title>
      <link>https://dev.to/anand_kore_4b80ce1464ef39</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/anand_kore_4b80ce1464ef39"/>
    <language>en</language>
    <item>
      <title>I Was Too Lazy to Get Off the Couch, So I Built This</title>
      <dc:creator>Anand Kore</dc:creator>
      <pubDate>Mon, 02 Feb 2026 16:47:20 +0000</pubDate>
      <link>https://dev.to/anand_kore_4b80ce1464ef39/i-was-too-lazy-to-get-off-the-couch-so-i-built-this-1cbn</link>
      <guid>https://dev.to/anand_kore_4b80ce1464ef39/i-was-too-lazy-to-get-off-the-couch-so-i-built-this-1cbn</guid>
      <description>&lt;p&gt;&lt;em&gt;How a Supernatural binge session led to a weekend project that solved my first-world problem&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Crime Scene
&lt;/h2&gt;

&lt;p&gt;Picture this: Sunday evening. Supernatural is playing on the monitor. Girlfriend next to me. Both of us have achieved that perfect couch position; you know, the one where your spine curves in a way that's technically concerning but feels like heaven.&lt;/p&gt;

&lt;p&gt;Then her phone rings.&lt;/p&gt;

&lt;p&gt;Now, any sane person would just... let it play in the background. But no. She has to take the call. Which means I have to get up, walk three whole feet to the laptop, and pause the show.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Three feet.&lt;/strong&gt; Do you know what happens when you leave the perfect couch spot? It's gone. Forever. You can try to recreate it, but it's never the same. The cushions have betrayed you.&lt;/p&gt;

&lt;p&gt;Twenty minutes later, the call ends. I get up again. Play the show. Sit back down. Spend the next five minutes trying to find that position again. Fail.&lt;/p&gt;

&lt;p&gt;And don't even get me started on volume. Every time Dean Winchester decides to have an emotional moment with a whisper followed by an explosion, one of us has to become the sacrifice.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;There has to be a better way&lt;/em&gt;, I thought.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Search for Solutions
&lt;/h2&gt;

&lt;p&gt;My first instinct was to Google "control laptop from phone." Surely this is a solved problem, right?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;KDE Connect&lt;/strong&gt;: Installed it. Configured it. It worked! ...sometimes. When Mercury was in retrograde and I held my phone at exactly 47 degrees. The rest of the time, it just... didn't.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Other apps&lt;/strong&gt;: Most of them wanted me to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Download an app on my phone&lt;/li&gt;
&lt;li&gt;Download software on my laptop&lt;/li&gt;
&lt;li&gt;Create an account&lt;/li&gt;
&lt;li&gt;Pair the devices&lt;/li&gt;
&lt;li&gt;Sacrifice a goat under the full moon&lt;/li&gt;
&lt;li&gt;Still not work consistently&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I just wanted to pause a video, man.&lt;/p&gt;




&lt;h2&gt;
  
  
  The "Wait, We Have AI Now" Moment
&lt;/h2&gt;

&lt;p&gt;I'm a DevOps guy. I break things for a living and then blame the yaml file. Writing full-stack apps from scratch isn't exactly my weekend hobby.&lt;/p&gt;

&lt;p&gt;But then I remembered: it's 2026. We have AI now.&lt;/p&gt;

&lt;p&gt;Specifically, I have access to &lt;strong&gt;AntiGravity&lt;/strong&gt; (a code editor with AI superpowers) running &lt;strong&gt;Claude Opus&lt;/strong&gt;. I'd been using it for work stuff, but never for a personal project.&lt;/p&gt;

&lt;p&gt;So I opened it up and basically said: &lt;em&gt;"Hey, I want to control my laptop's media and volume from my phone's browser. Make it happen."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;And it... did?&lt;/p&gt;




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

&lt;p&gt;&lt;strong&gt;CouchControl&lt;/strong&gt; is embarrassingly simple in concept:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A Python server running on my laptop&lt;/li&gt;
&lt;li&gt;A web page I open on my phone&lt;/li&gt;
&lt;li&gt;They talk to each other over my home WiFi&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's it. No app downloads. No accounts. No cloud services selling my data to advertisers who think I need more Supernatural merchandise (I don't. I have enough.)&lt;/p&gt;

&lt;p&gt;The features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Play/Pause&lt;/strong&gt;: The reason this exists&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Volume slider&lt;/strong&gt;: For when Dean whispers and then the Impala explodes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Now Playing display&lt;/strong&gt;: Shows what's currently playing (works with Spotify, VLC, browser, everything)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dark/Light theme&lt;/strong&gt;: Because I'm civilized&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  The Part Where AI Did All the Work
&lt;/h2&gt;

&lt;p&gt;I'll be honest: I barely wrote any code.&lt;/p&gt;

&lt;p&gt;Here's roughly how the conversation went:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Me&lt;/strong&gt;: I want a media remote that works over LAN.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Claude&lt;/strong&gt;: &lt;em&gt;generates FastAPI server, WebSocket handlers, Windows audio integration, mobile-first UI&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Me&lt;/strong&gt;: Can it show what's currently playing?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Claude&lt;/strong&gt;: &lt;em&gt;creates a whole module using Windows SDK APIs I didn't know existed&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Me&lt;/strong&gt;: Add a dark/light theme toggle.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Claude&lt;/strong&gt;: &lt;em&gt;done in 30 seconds&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The entire project took maybe 4-5 hours spread across a weekend. And most of that was me testing it while watching more Supernatural.&lt;/p&gt;

&lt;p&gt;The one actual bug I encountered? &lt;strong&gt;Browser caching.&lt;/strong&gt; My phone was loading the old version of the files. Claude added cache-busting query strings (&lt;code&gt;?v=2&lt;/code&gt;) to the CSS and JS includes, and that was that.&lt;/p&gt;

&lt;p&gt;My DevOps brain did kick in at one point: &lt;em&gt;"Wait, is this secure?"&lt;/em&gt; The answer is "not really"; there's no authentication, and it binds to all network interfaces. But it's running on my home WiFi, so unless my neighbor wants to pause my shows, I'm fine.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Tech Stack (For the Curious)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Backend&lt;/strong&gt;: Python, FastAPI, Uvicorn&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Media Control&lt;/strong&gt;: &lt;code&gt;pycaw&lt;/code&gt; (Windows audio API), &lt;code&gt;keyboard&lt;/code&gt; (media key simulation)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Now Playing&lt;/strong&gt;: &lt;code&gt;winsdk&lt;/code&gt; (Windows Runtime APIs)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Frontend&lt;/strong&gt;: Vanilla HTML, CSS, JavaScript, WebSocket&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI Assistance&lt;/strong&gt;: AntiGravity + Claude Opus&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No React. No npm install taking 20 minutes. No node_modules folder that weighs more than the sun. Just simple tech that works.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Result
&lt;/h2&gt;

&lt;p&gt;Now, when we watch shows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Phone is always in hand anyway&lt;/li&gt;
&lt;li&gt;One tap to pause&lt;/li&gt;
&lt;li&gt;Slider to adjust volume&lt;/li&gt;
&lt;li&gt;Current track info visible without alt-tabbing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The couch position remains undisturbed. The relationship survives.&lt;/p&gt;




&lt;h2&gt;
  
  
  Try It Yourself
&lt;/h2&gt;

&lt;p&gt;If you, too, suffer from the unbearable burden of getting up to control your laptop, here's the repo:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub&lt;/strong&gt;: &lt;a href="https://github.com/TheOneOh1/Couch-Control" rel="noopener noreferrer"&gt;github.com/TheOneOh1/Couch-Control&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Setup takes about 2 minutes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; server/requirements.txt
python &lt;span class="nt"&gt;-m&lt;/span&gt; uvicorn server.main:app &lt;span class="nt"&gt;--host&lt;/span&gt; 0.0.0.0 &lt;span class="nt"&gt;--port&lt;/span&gt; 8080
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then open &lt;code&gt;http://&amp;lt;your-laptop-ip&amp;gt;:8080&lt;/code&gt; on your phone.&lt;/p&gt;

&lt;p&gt;Works with Windows 10/11. Probably works with any media app that responds to system media keys.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;This was my first time vibe-coding with AI for a personal project. And honestly? It's changed how I think about side projects.&lt;/p&gt;

&lt;p&gt;I had an idea. An itch to scratch. And instead of spending weeks learning new frameworks or giving up halfway, I just... had a conversation with an AI that turned my rambling into working code.&lt;/p&gt;

&lt;p&gt;Is it overengineered for what it does? Maybe.&lt;br&gt;
Did it solve my problem? Absolutely.&lt;br&gt;
Will I use it every time I watch something? Already am.&lt;/p&gt;

&lt;p&gt;Now if you'll excuse me, I have a couch to return to. Supernatural isn't going to watch itself.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built with AntiGravity + Claude Opus. The keyboard was merely a formality.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Tags&lt;/strong&gt;: &lt;code&gt;python&lt;/code&gt;, &lt;code&gt;fastapi&lt;/code&gt;, &lt;code&gt;side-project&lt;/code&gt;, &lt;code&gt;automation&lt;/code&gt;, &lt;code&gt;self-hosted&lt;/code&gt;, &lt;code&gt;ai-assisted-development&lt;/code&gt;, &lt;code&gt;windows&lt;/code&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>sideprojects</category>
      <category>ai</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
