<?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>Forem: Rajnish Mehta</title>
    <description>The latest articles on Forem by Rajnish Mehta (@rajnishkmehta).</description>
    <link>https://forem.com/rajnishkmehta</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%2F3854772%2F1b23641d-3a87-4c61-976a-5b5faad7da9f.jpg</url>
      <title>Forem: Rajnish Mehta</title>
      <link>https://forem.com/rajnishkmehta</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/rajnishkmehta"/>
    <language>en</language>
    <item>
      <title>Scream2Wish: Break a genie lamp by screaming to wish</title>
      <dc:creator>Rajnish Mehta</dc:creator>
      <pubDate>Mon, 13 Apr 2026 07:37:09 +0000</pubDate>
      <link>https://forem.com/rajnishkmehta/scream2wish-break-a-genie-lamp-by-screaming-at-your-phone-11e8</link>
      <guid>https://forem.com/rajnishkmehta/scream2wish-break-a-genie-lamp-by-screaming-at-your-phone-11e8</guid>
      <description>&lt;p&gt;This is a submission for the &lt;a href="https://dev.to/challenges/aprilfools-2026"&gt;DEV April Fools Challenge&lt;/a&gt;  &lt;/p&gt;

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

&lt;p&gt;I built &lt;strong&gt;Scream2Wish&lt;/strong&gt;, an Android app where you have to literally scream at your phone to make a wish.  &lt;/p&gt;

&lt;p&gt;The app forces you through a fake login, then shows a genie lamp. The louder you scream, the more the lamp breaks. If you stop even for a second, it fully resets. Once you finally break it, a random character comes out (including mermaids… from a genie lamp, obviously).  &lt;/p&gt;

&lt;p&gt;You can then type a wish and a note. That data gets sent through a Cloudflare Worker → GitHub Actions pipeline and stored permanently in a public GitHub repo. In return, you receive a random stranger’s note.  &lt;/p&gt;


&lt;div class="crayons-card c-embed"&gt;

  &lt;br&gt;&lt;br&gt;
&lt;strong&gt;It solves nothing. It wastes your voice. It permanently stores your questionable wishes online.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;

&lt;/div&gt;
  
&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;
&lt;h3&gt;
  
  
  📱 Try It Yourself&lt;div class="crayons-card c-embed"&gt;

  Download the app, scream at your phone, and see what happens.


&lt;p&gt;&lt;a href="https://github.com/RajnishKMehta/Scream2Wish/releases/latest" class="crayons-btn crayons-btn--primary" rel="noopener noreferrer"&gt;🧞 Download APK 🧜🏻‍♀️&lt;/a&gt;

&lt;/p&gt;
&lt;/div&gt;


&lt;h3&gt;
  
  
  🌐 Wishes Board: &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://rajnishkmehta.github.io/Scream2Wish/" 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%2Frajnishkmehta.github.io%2FScream2Wish%2Fimages%2Flogo16x9.png" height="450" 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://rajnishkmehta.github.io/Scream2Wish/" rel="noopener noreferrer" class="c-link"&gt;
            Scream2Wish — Live Wishes Board
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Every wish screamed into the void appears here in real time. Read what strangers wished for.
          &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%2Frajnishkmehta.github.io%2FScream2Wish%2Fimages%2Ficon.png" width="800" height="800"&gt;
          rajnishkmehta.github.io
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;

&lt;/h3&gt;

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

&lt;/h3&gt;
&lt;p&gt;The project is entirely open-source under the MIT license.  &lt;/p&gt;

&lt;p&gt;Main repo (App + Worker + Website):&lt;br&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/RajnishKMehta" rel="noopener noreferrer"&gt;
        RajnishKMehta
      &lt;/a&gt; / &lt;a href="https://github.com/RajnishKMehta/Scream2Wish" rel="noopener noreferrer"&gt;
        Scream2Wish
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      An Android app where you scream to break a genie lamp and send your wish to GitHub
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div id="user-content-top"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;
&lt;a rel="noopener noreferrer" href="https://github.com/RajnishKMehta/Scream2Wish/assets/images/splash-light.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2FRajnishKMehta%2FScream2Wish%2FHEAD%2Fassets%2Fimages%2Fsplash-light.png" alt="blue mermaid" height="64" width="auto"&gt;&lt;/a&gt;Scream2Wish&lt;a rel="noopener noreferrer" href="https://github.com/RajnishKMehta/Scream2Wish/assets/images/splash-dark.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2FRajnishKMehta%2FScream2Wish%2FHEAD%2Fassets%2Fimages%2Fsplash-dark.png" alt="red mermaid" height="64" width="auto"&gt;&lt;/a&gt;
&lt;/h1&gt;
&lt;/div&gt;
&lt;a rel="noopener noreferrer" href="https://github.com/RajnishKMehta/Scream2Wish/assets/images/logo16x9_2.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2FRajnishKMehta%2FScream2Wish%2FHEAD%2Fassets%2Fimages%2Flogo16x9_2.png" alt="Scream2Wish" height="54" width="auto"&gt;&lt;/a&gt;
&lt;p&gt;&lt;em&gt;A submission for the &lt;a href="https://dev.to/challenges/aprilfools-2026" rel="nofollow"&gt;DEV April Fools Challenge 2026&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/RajnishKMehta/Scream2Wish/releases/latest" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/56713bbdff8b776d5597993b5997e11fc1bd634ba42076fa6d973e6e7fd95632/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f506c6174666f726d2d416e64726f69645f31302b2d677265656e2e7376673f7374796c653d706c6173746963" alt="Platform: Android 10+"&gt;&lt;/a&gt;
&lt;a href="https://github.com/RajnishKMehta/Scream2Wish/releases/latest" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/4fc93a138b9fe6cbc22aa5f9d59c59fdc15b918809ee07c4367956076b587d0c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f52616a6e6973684b4d656874612f53637265616d32576973683f696e636c7564655f70726572656c6561736573267374796c653d706c6173746963266c6f676f3d616e64726f696426636f6c6f723d6566343434342663616368655365636f6e64733d333030" alt="release version"&gt;&lt;/a&gt;
&lt;a href="https://expo.dev" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/4ca74f3970c5ffbba701daf2c421564a3cac6799a4e80ab15de27c5824410cfc/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4275696c74253230776974682d4578706f2d3030303032303f6c6f676f3d6578706f267374796c653d706c6173746963" alt="Built with Expo"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/RajnishKMehta/Scream2Wish/releases/latest/download/app.apk" rel="noopener noreferrer"&gt;&lt;strong&gt;📱 Download APK&lt;/strong&gt;&lt;/a&gt; · &lt;a href="https://rajnishkmehta.github.io/Scream2Wish" rel="nofollow noopener noreferrer"&gt;&lt;strong&gt;🌐 Wishes Board&lt;/strong&gt;&lt;/a&gt; · &lt;a href="https://github.com/RajnishKMehta/Scream2Wish-wishes" rel="noopener noreferrer"&gt;&lt;strong&gt;📦 Wishes Repo&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;What Is This?&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Scream2Wish is a completely 100% useful👀, mildly chaotic Android app that forces you to &lt;strong&gt;scream as loud as you can&lt;/strong&gt; to break a genie's lamp and only then lets you make a wish.&lt;/p&gt;
&lt;p&gt;Your wish gets sent to the internet via a Cloudflare Worker → GitHub Actions pipeline and lives forever in a public repo. In return, you get to read a random stranger's note. Whether that's comforting or unsettling is entirely up to you.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h4 class="heading-element"&gt;It is a fun project made for timepass and &lt;em&gt;&lt;strong&gt;learn&lt;/strong&gt;&lt;/em&gt;.&lt;/h4&gt;
&lt;/div&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Download&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;&lt;a href="https://github.com/RajnishKMehta/Scream2Wish/releases/latest/download/app.apk" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/dd7633450e4b2956f4a21371de04cfe2f39747e1f9abf3e106ce793e61da4f26/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f446f776e6c6f616425323041504b2d4c617465737425323052656c656173652d6566343434343f7374796c653d666f722d7468652d6261646765266c6f676f3d616e64726f6964" alt="Download APK"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Install on Android 10+ devices (sideloading required enable "Install from unknown sources" in settings).&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;The Full Experience&lt;/h2&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Step 1 — Permissions Gate&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;The app opens with an animated permission screen asking for microphone access (to detect your screams) and…&lt;/p&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/RajnishKMehta/Scream2Wish" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;If you're reading the code carefully, you might notice something… off 👀&lt;/p&gt;

&lt;h2&gt;
  
  
  🧩 Hidden Bug Challenge
&lt;/h2&gt;

&lt;p&gt;I intentionally left a tiny bug in this project.&lt;/p&gt;

&lt;p&gt;Most users won’t notice it. But if you do, you can’t unsee it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Status:&lt;/strong&gt; 🟡 Not fixed yet&lt;br&gt;&lt;br&gt;
&lt;em&gt;(Will update this section once someone finds and fixes it)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Your mission:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Find it
&lt;/li&gt;
&lt;li&gt;Fix it
&lt;/li&gt;
&lt;li&gt;Open a PR
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you get it right, I’ll merge it.&lt;/p&gt;

&lt;p&gt;No rewards. Just glory.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;(Hint: It works when you enter it… but not when you come back.)&lt;/em&gt;&lt;/p&gt;

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

&lt;h3&gt;
  
  
  Technical Pipeline
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;App (Expo + React Native)&lt;/strong&gt;
Detects user screams in real time using microphone amplitude.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;API Layer (Cloudflare Worker)&lt;/strong&gt;
Receives wish + note + name and securely forwards it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Trigger (GitHub API)&lt;/strong&gt;
Worker fires a &lt;code&gt;repository_dispatch&lt;/code&gt; event.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Processing (GitHub Actions)&lt;/strong&gt;
Generates a unique ID, saves the wish as JSON, and updates &lt;code&gt;index.json&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Display (Website)&lt;/strong&gt;
Wishes become publicly visible via GitHub Pages + Vite.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Tech Stack
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;App&lt;/strong&gt;: Expo + React Native
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend/API&lt;/strong&gt;: Cloudflare Workers
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Website&lt;/strong&gt;: Vanilla TypeScript + Vite (GitHub Pages)
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Storage&lt;/strong&gt;: GitHub (via Actions pipeline)
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local Storage&lt;/strong&gt;: react-native-mmkv
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Audio&lt;/strong&gt;: expo-audio (scream detection) &amp;amp; expo-speech (genie voice)&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Good luck to your vocal cords. You’ll need it.&lt;/em&gt;&lt;/p&gt;

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