<?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: Pratham Dhyani</title>
    <description>The latest articles on DEV Community by Pratham Dhyani (@pratham_dhyani_2b2c9fa652).</description>
    <link>https://dev.to/pratham_dhyani_2b2c9fa652</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%2F3434935%2F78bf891e-6de3-4b90-b24c-25e4ab38aeb1.png</url>
      <title>DEV Community: Pratham Dhyani</title>
      <link>https://dev.to/pratham_dhyani_2b2c9fa652</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/pratham_dhyani_2b2c9fa652"/>
    <language>en</language>
    <item>
      <title>MoodyBeats</title>
      <dc:creator>Pratham Dhyani</dc:creator>
      <pubDate>Fri, 05 Dec 2025 21:10:47 +0000</pubDate>
      <link>https://dev.to/pratham_dhyani_2b2c9fa652/moodybeats-53ab</link>
      <guid>https://dev.to/pratham_dhyani_2b2c9fa652/moodybeats-53ab</guid>
      <description>&lt;h1&gt;
  
  
  &lt;strong&gt;MoodyBeats—Reimagining the Mixtape for the Haunted Digital Age&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;MoodyBeats is a love letter to the era of cassette tapes—but with a supernatural twist.&lt;br&gt;&lt;br&gt;
It lets anyone create, customize, and share haunted mixtapes that feel tactile, imperfect, retro, and a little bit spooky.&lt;br&gt;&lt;br&gt;
From designing your own tape shell to hearing the reels hiss and wobble, the entire experience blends nostalgia with eerie digital magic.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;1. Maker Mode—Crafting Your Haunted Mixtape&lt;/strong&gt; 📼
&lt;/h2&gt;

&lt;p&gt;In Maker Mode, users build their mixtape from the ground up, just like in the old days—but with modern tools.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Choose Your Tracks&lt;/strong&gt; 🎶
&lt;/h3&gt;

&lt;p&gt;Users can add music from Uploaded audio files &lt;/p&gt;

&lt;p&gt;They also set a &lt;strong&gt;tape title&lt;/strong&gt; and add a personal message like “A mix just for you…”&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;True Cassette Flow: Side A / Side B&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Instead of a typical playlist, MoodyBeats uses a multiple-sides format:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Sort songs into &lt;strong&gt;Side A&lt;/strong&gt; and &lt;strong&gt;Side B&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Arrange tracks by hand, giving warm analog vibes instead of algorithmic precision&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Design Your Custom Tape Shell&lt;/strong&gt; 🖍️
&lt;/h3&gt;

&lt;p&gt;Your tape doesn't just sound unique—it &lt;em&gt;looks&lt;/em&gt; unique.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Choose from multiple vibrant colors&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select from 4 presets with unique designs&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The result feels like a physical artifact: something you could almost touch.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;2. Player Mode—An Authentic (and Haunted) Tape Deck Experience&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;MoodyBeats doesn’t behave like a normal digital player.&lt;br&gt;&lt;br&gt;
It imitates the quirks and limitations of real cassette decks—the good, the bad, and the spooky.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Retro Playback Controls&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Users can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Play / Pause&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fast-Forward&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Rewind&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There’s &lt;strong&gt;no track list&lt;/strong&gt;—the song names and counts are intentionally hidden to preserve authenticity.&lt;br&gt;&lt;br&gt;
“Skip” only happens when the user fast-forwards far enough to reach the next track.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Living, Breathing Tape Deck UI&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The player looks like a vintage cassette machine:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A/B side flipping animation&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Tape Overheat Mechanic&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Push the tape too hard, and MoodyBeats reacts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Fast-forward repeatedly → the tape heats up&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A “cool down” calms the machine before playback resumes&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's playful, unexpected, and adds a layer of personality.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;3. Haunting UI—Where Nostalgia Meets Horror&lt;/strong&gt; 🧟‍♂️
&lt;/h2&gt;

&lt;p&gt;MoodyBeats injects supernatural energy into an otherwise familiar device.&lt;br&gt;&lt;br&gt;
Every interaction has a chance to feel… haunted.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Spooky Transitions&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Don't press the fast forward button too many times... You might hear some creepy noises.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The buttons seem to act up if you dont handle them with care&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Audio Jumpscares &amp;amp; Creepy Layers&lt;/strong&gt; 👻
&lt;/h3&gt;

&lt;p&gt;MoodyBeats hides subtle scares:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Random creepy audio cues during fast-forward or rewind&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Very rare “jumpscare audios” blended into existing sound effects&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s never too much—just enough to make the user question whether the tape is… alive.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;4. Sharing the Experience—Haunted Envelope Export &amp;amp; Import&lt;/strong&gt; 💌
&lt;/h2&gt;

&lt;p&gt;What’s a mixtape if you can’t give it to someone?&lt;/p&gt;

&lt;p&gt;MoodyBeats introduces a &lt;strong&gt;haunted sharing mechanic&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Shareable MoodyBeats URL&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Every mixtape generates a unique link with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;A preview of the custom tape design&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A mysterious, ghostly envelope animation when opened&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Manual Export/Import&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;For full control, users can export or import:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Metadata&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Audio files&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Notes&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Visual design configs&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Everything is bundled into a single archive file—easy to store, send, or remix.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Custom Haunted Envelope Design&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Creators can decorate their envelope with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Colors, sigils&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Stars, skulls, and many more sigils to choose from&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Also sign your name (only if you want to)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;The Envelope Opening Ceremony&lt;/strong&gt; 📩
&lt;/h3&gt;

&lt;p&gt;Receiving a MoodyBeats mixtape becomes an experience:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The envelope shakes&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A cassette slowly slides out&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A handwritten note fades in&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The mixtape begins…&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Inspiration
&lt;/h3&gt;

&lt;p&gt;We were heavily inspired by the aesthetic of the visuals and audio of a character from Jojo's Bizarre Adventure. The stand (character's ability), to be specific, called "Moody Blues," is what inspired a lot of features of this project.&lt;br&gt;
The audios and aesthetics used for that character were very appropriate for this project. I, personally, found those voice effects very cool, and the color scheme was also super cool.&lt;br&gt;
 We'd like our users to find some Easter bugs related to this and many more characters. We love the show, and we know a lot of people who love it too, so we are very excited for them to use the website.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's next?
&lt;/h2&gt;

&lt;p&gt;We really want to develop an app from this project. I think this could be very good for us to start with. Something that is fun to use and not too difficult for us to make and change. We have used React Native, but we will still need to polish the app before we publish it on any platform.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;MoodyBeats is More Than a Player—It’s a Haunted Digital Artifact&lt;/strong&gt; 💫
&lt;/h2&gt;

&lt;p&gt;It mixes nostalgia, handcrafted creativity, spooky ambience, and glitch-aesthetic storytelling into one cohesive platform.&lt;br&gt;&lt;br&gt;
Whether you’re making a heartfelt mix for a friend or a creepy soundscape for Halloween, MoodyBeats turns music into an &lt;strong&gt;experience&lt;/strong&gt;, not just a playlist.&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%2Fzlulccx8dy210b7qxkxx.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.amazonaws.com%2Fuploads%2Farticles%2Fzlulccx8dy210b7qxkxx.png" alt=" " width="800" height="410"&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%2Fmyc1a34on11iszw7d0ea.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.amazonaws.com%2Fuploads%2Farticles%2Fmyc1a34on11iszw7d0ea.png" alt=" " width="800" height="407"&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%2Fhdifw0d9fftg7y5b8c30.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.amazonaws.com%2Fuploads%2Farticles%2Fhdifw0d9fftg7y5b8c30.png" alt=" " width="800" height="410"&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%2F9q41chbijmbfbjf6pt6p.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.amazonaws.com%2Fuploads%2Farticles%2F9q41chbijmbfbjf6pt6p.png" alt=" " width="800" height="409"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  kiro #vibewithkiro #oldschool #music
&lt;/h1&gt;

</description>
    </item>
    <item>
      <title>StrangEars</title>
      <dc:creator>Pratham Dhyani</dc:creator>
      <pubDate>Thu, 14 Aug 2025 11:20:32 +0000</pubDate>
      <link>https://dev.to/pratham_dhyani_2b2c9fa652/strangears-4jed</link>
      <guid>https://dev.to/pratham_dhyani_2b2c9fa652/strangears-4jed</guid>
      <description>&lt;h2&gt;
  
  
  🍃 Turning the feeling into a product
&lt;/h2&gt;

&lt;p&gt;The vision was simple: match someone who needs to vent with someone who’s willing to listen—privately, anonymously, and without judgment. That meant intentional constraints:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Text‑only chat to reduce misuse and keep focus.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Usernames instead of real names, with guidance to avoid real photos.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Always‑visible End Chat and a Report flow that captures the session ID for quick review.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Spam protection via rate limiting to prevent rapid‑fire floods and keep conversations readable.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🏃♂️ The 3‑week sprint
&lt;/h2&gt;

&lt;p&gt;My teammate and I worked closely on all aspects to make sure we were on the same page, be it the design or the features. We chose a stack built for speed and clarity: React 18 with TypeScript, Tailwind, and Socket.IO on the client; and Node/Express, Socket.IO, and Redis for session logic on the server. I treated UX like guardrails: calm surface, obvious exits, and safety tools you can’t miss, and the UI like a welcoming mat: cozy and welcoming.&lt;/p&gt;

&lt;p&gt;The first time we saw messages travel across our chat UI, it felt like proof the idea worked—not just the code. Early demos with friends validated the vibe we were aiming for: “cozy.”&lt;/p&gt;

&lt;h2&gt;
  
  
  🤖 Using Kiro (and learning to manage an AI teammate)
&lt;/h2&gt;

&lt;p&gt;We had a 3rd teammate with us this time around—Kiro, which helped accelerate implementation. It was undeniably helpful for scaffolding the real‑time chat loop, wiring Socket.IO events, and drafting Tailwind layouts we could refine. But it also needed a lot of supervision. We found ourselves repeating instructions—sometimes the same ones—so it would actually implement what we intended, and once it nearly deleted a large chunk of code during “cleanup” (thankfully it asked for confirmation and Sanyam caught it). The lesson: AI can boost productivity, but only with to-the-point prompts, small steps, and human review at every step.&lt;/p&gt;

&lt;p&gt;What worked best with Kiro:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Small, directive tasks (“Add a Report modal that auto‑captures session ID and posts to /reports”) instead of broad requests.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Clear acceptance criteria (“Button always visible; modal blocks until reason is selected; server logs timestamp + session ID”).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🎨 Designing for safety over flash
&lt;/h2&gt;

&lt;p&gt;We consciously avoided voice/video in the first version despite receiving that suggestion from quite some people. That decision shaped everything—from the compact message composer to the prominent “End Chat” and “Report” controls. Rate limiting became a must‑have, not a nice‑to‑have: it keeps conversations humane, preserves attention, and blocks bot‑like bursts before they overwhelm a listener.&lt;/p&gt;

&lt;h2&gt;
  
  
  🌟 What changed me as a builder
&lt;/h2&gt;

&lt;p&gt;Teamwork is an important takeaway for sure. There were multiple times when there were disagreements on designs, but you should know when to back down and accept the suggestion and when to urge for a change when you feel it's important to do what you are thinking. Apart from this, I learned about new frameworks and building tools like Tailwind and Vite. &lt;/p&gt;

&lt;p&gt;The most important takeaway has to be that AI is more of a force multiplier and not an autopilot that can do everything by itself. It has a lot of areas of improvement, but it certainly makes implementation and the tedious things easy to do. &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%2F7z5lp2xkkb8stqk4eb8i.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.amazonaws.com%2Fuploads%2Farticles%2F7z5lp2xkkb8stqk4eb8i.png" alt=" " width="800" height="533"&gt;&lt;/a&gt;&lt;br&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%2F98ksiv4drp41mz3c950d.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.amazonaws.com%2Fuploads%2Farticles%2F98ksiv4drp41mz3c950d.png" alt=" " width="800" height="533"&gt;&lt;/a&gt;&lt;br&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%2Fp3c4yjawkgu9g4d82ewd.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.amazonaws.com%2Fuploads%2Farticles%2Fp3c4yjawkgu9g4d82ewd.png" alt=" " width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>kiro</category>
      <category>mentalhealth</category>
      <category>webdev</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
