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 stored permanently in a public GitHub repo. In return, you receive a random stranger’s note.
Demo
📱 Try It Yourself
🌐 Wishes Board:
Code
The project is entirely open-source under the MIT license.
Main repo (App + Worker + Website):
RajnishKMehta
/
Scream2Wish
An Android app where you scream to break a genie lamp and send your wish to GitHub
A submission for the DEV April Fools Challenge 2026
What Is This?
Scream2Wish is a completely 100% useful👀, 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 is a fun project made for timepass and learn.
Download
Install on Android 10+ devices (sideloading required enable "Install from unknown sources" in settings).
The Full Experience
Step 1 — Permissions Gate
The app opens with an animated permission screen asking for microphone access (to detect your screams) and…
If you're reading the code carefully, you might notice something… off 👀
🧩 Hidden Bug Challenge
I intentionally left a tiny bug in this project.
Most users won’t notice it. But if you do, you can’t unsee it.
Status: 🟡 Not fixed yet
(Will update this section once someone finds and fixes it)
Your mission:
- Find it
- Fix it
- Open a PR
If you get it right, I’ll merge it.
No rewards. Just glory.
(Hint: It works when you enter it… but not when you come back.)
How I Built It
Technical Pipeline
- App (Expo + React Native) Detects user screams in real time using microphone amplitude.
- API Layer (Cloudflare Worker) Receives wish + note + name and securely forwards it.
-
Trigger (GitHub API)
Worker fires a
repository_dispatchevent. -
Processing (GitHub Actions)
Generates a unique ID, saves the wish as JSON, and updates
index.json. - Display (Website) Wishes become publicly visible via GitHub Pages + Vite.
Tech Stack
- App: Expo + React Native
- Backend/API: Cloudflare Workers
- Website: Vanilla TypeScript + Vite (GitHub Pages)
- Storage: GitHub (via Actions pipeline)
- Local Storage: react-native-mmkv
- Audio: expo-audio (scream detection) & expo-speech (genie voice)
Good luck to your vocal cords. You’ll need it.


Top comments (2)
Nice

but why it is unauthorised?
Your comment came in at almost the same time when I fixed this and added the new release v1.3.1 😄