App Survival ResilientMind - Android is a web-based simulation game inspired by real Android production incidents. It compresses production constraints into a playable loop: design an architecture graph, ship under pressure, and maintain user sentiment, reliability, security, and compliance simultaneously.
Inspired by Server Survival by pshenok at https://pshenok.github.io/server-survival/ This project is an original implementation and is not affiliated with the original author. No code or assets were copied from the original project.
Live demo https://pzverkov.github.io/app-survival-android/
- Purpose
- Quick start
- How to play (short)
- Docs
- Security/Contributing /License
This project is designed to be usable for Android developer skill evaluation, with emphasis on Senior, Staff, and Principal-level production thinking. It targets real-world trade-offs across performance, reliability, background execution, security and privacy, accessibility, observability, incident response, and multi-region policy pressure.
The simulation core is written in TypeScript and intentionally kept separate from UI rendering so it can be ported to Kotlin and Android implementation later.
Prerequisites Node.js 22 LTS or newer is recommended
Install
npm install
Run
npm run dev
Build
npm run build
Tests
npm run test:unit (unit) and npm run test:e2e:ci (E2E + DOM validation)
- Pick a preset (Junior Mid/Senior/Staff/Principal), then press Start.
- Place components, link dependencies, upgrade, and fix tickets to keep the app alive.
- Expect incidents. Stabilize without tanking privacy, accessibility, security, coverage, and regional compliance.
More details: see docs/GAMEPLAY.md
- Gameplay (seeds, scoring, incidents, postmortems, profile & achievements): GAMEPLAY.md
- Systems (concepts + realism layers): SYSTEMS.md
- Architecture rules and refactor roadmap: ARCHITECTURE_RULES.md
- Evaluation exercise + level differentiation lens: EVALUATION.md
- Testing and CI notes (Vitest + Playwright + E2E marker): TESTING.md
- UI notes (Material 3, sparklines, accessibility): UI.md
- Developer guide (adding components, incidents, achievements, translations): DEVELOPER_GUIDE.md
- Learning resources (Android + KMP): LEARNING.md
- Optional code task ideas: OPTIONAL_TASKS.md
See SECURITY.md for reporting guidance. Do not include secrets in issues or pull requests.
See CONTRIBUTING.md for setup instructions and contribution expectations.
See CODE_OF_CONDUCT.md for community standards.
Apache License 2.0. See LICENSE and NOTICE files.
This software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages, or other liability, whether in an action of contract, tort, or otherwise, arising from, out of, or in connection with the software or the use or other dealings in the software.
This project is an educational simulation game. Nothing in this repository constitutes professional advice of any kind, including but not limited to engineering advice, security advice, legal advice, compliance advice, or architectural guidance. The simulation mechanics, incident scenarios, scoring systems, and game content are fictional abstractions designed for entertainment and learning purposes only. They do not represent real-world best practices, standards, or recommendations.
Users who download, fork, deploy, or otherwise use this software do so entirely at their own risk and assume full responsibility for any consequences arising from such use. The authors make no representations regarding the accuracy, completeness, or suitability of any information or functionality provided by this software.