# SysAdmin Crisis

> SysAdmin Crisis is a night-shift simulation solved with 29 gamified Unix commands, including real flags, Tab completion and man. The web (PWA) and mobile (Expo) versions share the same game engine; zero data collection is a constraint tied to the build chain. It is playable today at sysadmincrisis.com.

- Role: Designer & Developer
- Class: Older / Hobby Projects
- Status: Ongoing
- Started: 2026-09-23
- Technologies: TypeScript, Next.js, React, Expo, React Native, Zustand
- Skills: Game Design, Terminal/CLI Simulation, State Management, Offline-First Architecture, Privacy-Focused Design, Cross-Platform Architecture
- Website: https://sysadmincrisis.com
- Source: https://muhammetsafak.com/portfolio/sysadmincrisis/
- Language: en-US
- Author: Muhammet Şafak

---
SysAdmin Crisis is a night-shift simulation where I wanted the command line to be more than surface: the syntax is a gamified Unix, and real commands accept their common flags. `top` really reads the server load, `logs` really lists the event history, `block_ip` really cuts off an attack source; there are twenty-nine commands in total, Tab completion works, and `man <command>` opens a built-in manual. The shift is built from seven event types; the tutorial section introduces two of them — a memory leak and a DDoS — at a slowed-down pace, using the same commands. The tension only lands if the syntax is actually functional rather than cosmetic.

The web version (a Next.js-based PWA) and the mobile version (Expo) share the same game engine; on mobile, the terminal screen is drawn with native components rather than a WebView. Part of the development discipline is not left to code review: a dependency audit, lint, type-checking, the test suite and coverage measurement all run automatically in CI on every push. Zero data collection is likewise not a privacy statement but a constraint tied to code — `fetch`/`XMLHttpRequest` usage in the game packages is blocked by lint rules, and analytics or ad clients leaking into dependencies are blocked by a separate dependency-audit script. While the game runs, no network request is made beyond the initial page load and the service worker update; there are no accounts, analytics or ads.

SysAdmin Crisis was prepared for release as v1.0.0 and is playable today at sysadmincrisis.com; it receives no new development, only security and compatibility fixes.
