Inspiration

Indonesia sits on the Ring of Fire. Earthquakes, eruptions, tsunamis, floods — daily threats. Yet disaster education in schools still relies on textbooks and posters. Children don't learn reflexes by reading; they learn by playing.

What it does

Disaster Zone is a real-time multiplayer RPG where students experience 4 disaster scenarios — Earthquake (Minahasa), Volcano Eruption (Mount Lokon), Tsunami (Bitung), Flood (Manado) — following official BNPB, BMKG, and BPBD Manado procedures.

🎮 4 levels with branching decisions + multiple endings

🕹️ Real-time multiplayer — students see friends move, chat, and emote on a 2D school map

👨‍🏫 NPC teacher (Bu Sinta) with dialogue teaching official procedures

⚡ Live earthquake simulation — teacher triggers → screen shakes → every student must DROP (5s) → COVER (3s) → HOLD ON (4s)

📊 Real-time teacher dashboard — live scoreboard + analytics showing "which decision the class got most wrong"

🔐 Teacher login via email OTP + Cloudflare Turnstile

📱 PWA + Android APK — no Play Store needed, works offline

🛠️ Runs on a $15 STB (Armbian S905x, 1.75 GB RAM, 40°C)

How we built it

Layer Technology Frontend HTML5 Canvas, Vanilla JS, CSS3 (< 100 KB total) Backend Node.js 18, Express, Socket.IO Database SQLite (JSON file) Auth Email OTP (Nodemailer) + Cloudflare Turnstile Deploy Nginx + Cloudflare Tunnel Hosting STB Aml.S905x — Armbian Linux 6.1 LTS APK Bubblewrap (Trusted Web Activity)

Challenges we ran into

roduction server on a fanless STB — killed 12 services, set schedutil governor, added an exhaust fan → 40°C stable, 450 MB RAM, 17+ hours uptime

Accomplishments that we're proud of

Runs on $15 hardware — 4 projects (chat, game, ads, honeypot) on one STB, 40°C

✅ Frontend under 100 KB — smaller than a single Instagram photo

✅ 20+ concurrent players on a 1.75 GB server — no cloud, no Docker

✅ 100% educational accuracy — validated against BNPB, BMKG, BPBD Manado

✅ Real-time teacher dashboard with decision analytics

✅ Android APK without Play Store — schools distribute in seconds

✅ Offline-ready after first load

What we learned

You don't need the cloud to build something meaningful — our STB beats many $5/month VPS plans

What's next for disaster comprehension

3 months:

🎙️ Voice chat during crisis simulation

📊 PDF report card export per student

🌐 Multi-language (English, Javanese, Sundanese)

6–12 months:

🏫 Multi-school leaderboard

📈 BMKG API integration — real earthquake alerts trigger in-game events

🤖 AI-generated scenarios via DeepSeek API

1+ year:

🇮🇩 National deployment — partnership with BNPB & Ministry of Education, target 10,000 schools

🌏 Expansion to other disaster-prone countries (Philippines, Japan, Bangladesh)
Share this project:

Updates

Submission history