DEV Community

Cover image for Scream2Wish: Break a Genie Lamp and Free the Mermaid by Screaming
Rajnish Mehta
Rajnish Mehta

Posted on

Scream2Wish: Break a Genie Lamp and Free the Mermaid by Screaming

April Fools Challenge Submission ☕️🤡

This is a submission for the DEV April Fools Challenge

What I Built

I built Scream2Wish, an Android app where you have to literally scream at your phone to make a wish.

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).

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


It solves nothing. It wastes your voice. It permanently stores your questionable wishes online.

Demo

📱APK Download: 🧞Scream2Wish APK🧜🏻‍♀️

🌐 Wishes Board: Visit the Scream2Wish Board
(Note: Website shows all wishes with name + timestamp)

Code

The project is entirely open-source under the MIT license.

Main repo (App + Worker):

GitHub logo RajnishKMehta / Scream2Wish

An Android app where you scream to break a genie lamp and send your wish to GitHub

🧞 Scream2Wish

An Android app that makes you scream to make a wish then sends it to the universe.

A submission for the DEV April Fools Challenge 2026

License: MIT Platform: Android Built with Expo Download APK

📱 Download APK · 🌐 Wishes Board · 📦 Wishes Repo


What Is This?

Scream2Wish is a completely useless, mildly chaotic Android app that forces you to scream as loud as you can to break a genie's lamp — and only then lets you make a wish.

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.

It solves zero real-world problems. It does exactly what it says. That's the point.


Download

Download APK

Install on any Android device (sideloading required — enable "Install from unknown sources" in settings).


The Full Experience

Wishes storage repo: https://github.com/RajnishKMehta/Scream2Wish-wishes

How I Built It

Technical Pipeline Details:

  1. React Native (Expo):The app detects screams using microphone amplitude.
  2. Persistence: Wish + note + name is sent to a Cloudflare Worker.
  3. Automation: The Worker triggers a GitHub repository_dispatch event.
  4. GitHub Actions: Runs a workflow to generate a unique ID, save the wish as JSON, and update the global index.json.
  5. Frontend: Data becomes publicly readable via GitHub Pages + Vite.

Tech Stack

  • Frontend: Expo + React Native
  • Audio: expo-audio (scream detection) & expo-speech (genie voice)
  • Backend: Cloudflare Workers
  • Database/Storage: GitHub Actions (persistence pipeline)
  • Website: GitHub Pages + Vite

Good luck to your vocal cords!

Top comments (0)