<?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: Sushan Shetty</title>
    <description>The latest articles on DEV Community by Sushan Shetty (@sushan_shetty_5ebec41a67d).</description>
    <link>https://dev.to/sushan_shetty_5ebec41a67d</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%2F3786845%2F4cd6f902-c830-40f3-8281-0c4f48198264.png</url>
      <title>DEV Community: Sushan Shetty</title>
      <link>https://dev.to/sushan_shetty_5ebec41a67d</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sushan_shetty_5ebec41a67d"/>
    <language>en</language>
    <item>
      <title>✨ What I Built for the DEV April Fools Challenge: 🎵 Shake-to-Volume Music Player + 🐍 Shake-Controlled Snake Game</title>
      <dc:creator>Sushan Shetty</dc:creator>
      <pubDate>Wed, 08 Apr 2026 17:20:03 +0000</pubDate>
      <link>https://dev.to/sushan_shetty_5ebec41a67d/what-i-built-for-the-dev-april-fools-challenge-shake-to-volume-music-player--48e6</link>
      <guid>https://dev.to/sushan_shetty_5ebec41a67d/what-i-built-for-the-dev-april-fools-challenge-shake-to-volume-music-player--48e6</guid>
      <description>&lt;h1&gt;
  
  
  🎵🐍 Shake-to-Volume Music Player + Tilt-Controlled Snake: Double Chaos Edition
&lt;/h1&gt;

&lt;p&gt;A hilariously useless double feature where EVERYTHING is controlled by shaking/tilting your device!&lt;/p&gt;

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

&lt;p&gt;I created the world's most frustrating double feature:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;A music player where volume ONLY works by shaking your device&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;A Snake game controlled entirely by tilting your phone or violently moving your mouse&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Both features are completely useless, intentionally difficult, and will make you question reality.&lt;/p&gt;

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

&lt;p&gt;🔗 &lt;strong&gt;Live Demo:&lt;/strong&gt; &lt;a href="https://silly-dev.preview.emergentagent.com" rel="noopener noreferrer"&gt;https://silly-dev.preview.emergentagent.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;
🔗 &lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/sushanshetty2601-pixel/shake-chaos-player" rel="noopener noreferrer"&gt;https://github.com/sushanshetty2601-pixel/shake-chaos-player&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Screenshots
&lt;/h2&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.amazonaws.com%2Fuploads%2Farticles%2Fxx2nr3zwfxgfx5s009dd.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.amazonaws.com%2Fuploads%2Farticles%2Fxx2nr3zwfxgfx5s009dd.jpeg" alt=" " width="800" height="450"&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.amazonaws.com%2Fuploads%2Farticles%2Fbjl8t9i5e5o0z1q5q60u.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.amazonaws.com%2Fuploads%2Farticles%2Fbjl8t9i5e5o0z1q5q60u.jpeg" alt=" " width="800" height="450"&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.amazonaws.com%2Fuploads%2Farticles%2F5hyrqt75f5mlekskc3y1.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.amazonaws.com%2Fuploads%2Farticles%2F5hyrqt75f5mlekskc3y1.jpeg" alt=" " width="800" height="450"&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.amazonaws.com%2Fuploads%2Farticles%2Flnk5flbd8domy8c17ipk.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.amazonaws.com%2Fuploads%2Farticles%2Flnk5flbd8domy8c17ipk.jpeg" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Features (All Intentionally Useless)
&lt;/h2&gt;
&lt;h3&gt;
  
  
  🎵 Shake-to-Volume Music Player
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Shake Detection:&lt;/strong&gt; Uses accelerometer on mobile, requires violent mouse movements on desktop&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Volume Control:&lt;/strong&gt; NO buttons, NO sliders - ONLY shaking works&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Volume Decay:&lt;/strong&gt; Stop shaking? Volume drops to zero. Keep shaking forever!&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Shake Meter:&lt;/strong&gt; Real-time visualization of your pathetic shaking intensity&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Stats Tracking:&lt;/strong&gt; Counts every single shake and scores your desperation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🤖 AI Shake Coach:&lt;/strong&gt; Google AI roasts your shaking technique in real-time&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Calibration Mode:&lt;/strong&gt; 5-second test that judges if your shaking is "worthy" (spoiler: it's not)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Shake History:&lt;/strong&gt; Database permanently records your shameful shaking attempts&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  🐍 Shake-Controlled Snake Game
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Tilt Controls:&lt;/strong&gt; On mobile, tilt device to change direction. On desktop, move mouse away from screen center.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No Arrow Keys:&lt;/strong&gt; Traditional controls are for cowards&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Game Over Messages:&lt;/strong&gt; Sarcastic AI roasts like "😴 Pathetic tilting skills"&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Score Tracking:&lt;/strong&gt; Watch your failure in real-time&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Classic Snake:&lt;/strong&gt; Eat food, grow longer, inevitably crash into yourself while trying to tilt properly&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Why This Is Hilariously Useless
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Music Player Problems:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Want to turn up the volume? Shake violently for 30 seconds straight.&lt;/li&gt;
&lt;li&gt;Listening on a bus? Everyone thinks you're having a seizure.&lt;/li&gt;
&lt;li&gt;Desktop users must thrash their mouse around like a possessed etch-a-sketch.&lt;/li&gt;
&lt;li&gt;Stop shaking for 2 seconds? Silent. Forever shaking or forever silent.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Snake Game Problems:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Playing Snake is already hard. Playing it by TILTING is impossible.&lt;/li&gt;
&lt;li&gt;Desktop users must remember which quadrant their mouse is in.&lt;/li&gt;
&lt;li&gt;Every game ends in 10 seconds with a sarcastic AI insult.&lt;/li&gt;
&lt;li&gt;You'll look ridiculous tilting your phone back and forth.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Combined Chaos:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Try playing Snake while the music volume keeps resetting because you stopped shaking.&lt;/li&gt;
&lt;li&gt;Ultimate multitasking nightmare.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  How I Used Google AI (Gemini 3 Flash)
&lt;/h2&gt;

&lt;p&gt;I integrated &lt;strong&gt;Google Gemini 3 Flash API&lt;/strong&gt; to create an "AI Shake Coach" &lt;/p&gt;
&lt;h3&gt;
  
  
  Implementation:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Backend:&lt;/strong&gt; FastAPI endpoint &lt;code&gt;/api/shake-coach&lt;/code&gt; &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Model:&lt;/strong&gt; &lt;code&gt;gemini-3-flash-preview&lt;/code&gt; via Google Generative AI API&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Integration:&lt;/strong&gt; Used Emergent's LLM integration library for seamless Gemini access&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  What the AI Does:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Analyzes Shake Data:&lt;/strong&gt; Takes intensity, count, score, and device type&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Generates Sarcastic Feedback:&lt;/strong&gt; Creates custom roasts based on performance&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Assigns Roast Levels:&lt;/strong&gt; Pathetic → Mediocre → Acceptable → Legendary&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Provides "Useless Tips":&lt;/strong&gt; Like "Shake like you're trying to wake up your phone's ancestors"&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;
  
  
  Sample AI Responses:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;"Congratulations on vibrating your desk with the raw power of a drowsy hamster..."&lt;/li&gt;
&lt;li&gt;"At this rate, you'll reach 'audible' volume by the next solar eclipse"&lt;/li&gt;
&lt;li&gt;"I've seen more intensity from a leaf of lettuce in a mild breeze"&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Why This AI Usage Is Perfect for the Challenge:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The AI takes something already useless (shaking for volume) and makes it MORE useless by roasting you&lt;/li&gt;
&lt;li&gt;Gemini's creative language generation makes every roast unique&lt;/li&gt;
&lt;li&gt;It's meta-useless: AI judging your performance in a completely pointless task&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Tech Stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; React, Tailwind CSS, Web Audio API, DeviceMotion API&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend:&lt;/strong&gt; FastAPI, Python&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Database:&lt;/strong&gt; MongoDB (to forever store your shame)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI:&lt;/strong&gt; Google Gemini 3 Flash via Generative AI API&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deployment:&lt;/strong&gt; Emergent platform&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Motion Detection:&lt;/strong&gt; DeviceOrientationEvent (mobile), MouseEvent (desktop)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  How to Try It
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Mobile:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Visit the live demo on your phone&lt;/li&gt;
&lt;li&gt;Click "Play Music"&lt;/li&gt;
&lt;li&gt;Shake your phone aggressively&lt;/li&gt;
&lt;li&gt;Watch volume go up (and immediately drop when you stop)&lt;/li&gt;
&lt;li&gt;Try the Snake game by tilting&lt;/li&gt;
&lt;li&gt;Get roasted by AI&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;
  
  
  Desktop:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Visit on your computer&lt;/li&gt;
&lt;li&gt;Move mouse violently in all directions&lt;/li&gt;
&lt;li&gt;Or spam keyboard keys&lt;/li&gt;
&lt;li&gt;Try controlling Snake by moving mouse to screen edges&lt;/li&gt;
&lt;li&gt;Fail spectacularly&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
  
  
  Code Highlights
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Shake Detection (Mobile):&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nb"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;addEventListener&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;devicemotion&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;event&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;y&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;z&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;event&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;accelerationIncludingGravity&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;acceleration&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sqrt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;x&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;y&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;y&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;z&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;z&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;acceleration&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;intensity&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;min&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;acceleration&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nf"&gt;setVolume&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;floor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;intensity&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;AI Shake Coach (Backend):&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;chat&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;LlmChat&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;environ&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;EMERGENT_LLM_KEY&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="n"&gt;session_id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;shake-coach-&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;uuid&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;uuid4&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;system_message&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;You are a sarcastic Shake Coach...&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;with_model&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;gemini&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;gemini-3-flash-preview&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;ai_response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="n"&gt;chat&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;send_message&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;user_message&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;ul&gt;
&lt;li&gt;DeviceMotionEvent API is surprisingly powerful (and hilarious)&lt;/li&gt;
&lt;li&gt;Gemini 3 Flash is excellent at generating creative sarcasm&lt;/li&gt;
&lt;li&gt;People will question your sanity when they see you violently shaking your phone&lt;/li&gt;
&lt;li&gt;Making something intentionally useless is harder than making something useful&lt;/li&gt;
&lt;li&gt;AI makes everything better, even roasting your terrible shaking technique&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;This project perfectly embodies the April Fools spirit: it's technically impressive, completely useless, and will frustrate anyone who tries it. The AI integration adds an extra layer of absurdity by judging and roasting your attempts to use an already ridiculous interface.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Try it, shake it, tilt it, and get roasted!&lt;/strong&gt; 🎉&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built with frustration, bad ideas, and Google AI by &lt;a href="https://github.com/sushanshetty2601-pixel" rel="noopener noreferrer"&gt;@sushanshetty2601-pixel&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This app is intentionally useless. Created for DEV April Fools Challenge 2026.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>418challenge</category>
      <category>showdev</category>
      <category>googleai</category>
    </item>
  </channel>
</rss>
