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)
Log in or sign up for Devpost to join the conversation.