HT.
ID
EN
/MJS Scream Challenge
InteractiveTypeScript

MJS Scream Challenge

A microphone-based scream challenge game for MJ Solution x Arch ID event booths - players scream into the mic for 60 seconds, accumulate score via dB intensity and combo multiplier, and winners unlock a Spin the Wheel prize.

Variant
Scream Challenge x Happify - 1
Scream Challenge x Happify - 2
Scream Challenge x Happify - 3
Scream Challenge x Happify - 4
Scream Challenge x Happify - 5
1 / 5
Overview

MJS Scream Challenge is an interactive event booth game where players scream or blow into their device microphone for 60 seconds. Sound intensity is captured in real time via the Web Audio API and converted to a score using dB thresholds, rate multipliers, and a live combo system. Two difficulty levels are available: Normal and Hard, each with different dB thresholds and scoring rates. Players who reach a score of 300+ are classified as winners and receive a link to the Spin the Wheel prize page. All scores are saved to a Supabase leaderboard with podium and rank display. Built for the MJ Solution Indonesia x Arch ID brand event.

Problem

Standard event booth activities are often passive and forgettable. There was a need for a high-energy, instantly understandable interactive experience that could draw a crowd, create shareable moments, and integrate with an existing prize mechanic.

Solution

A mic-based game with a clear win condition, live visual feedback via a power meter, and a combo multiplier that rewards sustained effort. The 60-second format is short enough for quick turnover at the booth while the leaderboard and Spin the Wheel integration create incentive for competitive replay.

Highlights
  • Real-time microphone dB tracking via Web Audio API and requestAnimationFrame
  • Combo multiplier system that scales with accumulated score (x1 to x5)
  • Two difficulty levels: Normal (dB threshold -70 to -30 dBFS) and Hard (-60 to -10 dBFS)
  • Win condition: score >= 300 unlocks Spin the Wheel prize link
  • 60-second game timer with live score accumulation display
  • Power meter visualization with 4 tiers (Weak -> Max) using balloon animation
  • Supabase leaderboard with top-10 ranking by score
  • Phase-based state machine: register -> instruction -> countdown -> playing -> result
  • 3-2-1-SCREAM countdown animation before game starts
  • Dual layout support: mobile default and desktop/signage via useLayoutVariant
  • Background video on game screen
Features
Player registration: name, avatar selection, difficulty level
Instruction screen with 3-step game guide
Animated 3-2-1-SCREAM countdown screen
Live mic input visualization with power meter (4 segments)
Real-time score and combo display during gameplay
Flying score number animation on combo boost
Win modal with leaderboard insert and Spin the Wheel link
Auto-reset to registration on loss
Leaderboard page with podium (rank 1-3) and rank rows (rank 4-10)
Avatar selection with 6 options
Client-side only - no SSR, direct Supabase access via anon key
Tech Stack
Next.js 16React 19TypeScriptTailwind CSS v4Framer MotionSupabaseWeb Audio APILucide React