">
Independent developer · Lebanon

Four platforms.
One match.

I build cross-platform game infrastructure and the networking that makes it hold together — plus the backends and tools around it.

Windows · macOS · Linux · iPadOSone lockstep simulation
Ed25519signed auto-update
C++ · Node · Next.jsday to day
Work

What I maintain.

GeneralsX shipping

Command & Conquer: Generals Zero Hour, running natively on Windows, macOS, Linux and iPadOS — with the original lockstep simulation intact, so all four platforms can play the same match.

Every peer hashes its own simulation source into a build identity and refuses a join that would silently desync. Updates are delivered through a signed release manifest and verified before anything is written.

C++lockstep netcode NAT traversalVulkan / DXVK Ed25519

The Z Connect

A student network built around a single card — campus discounts, mentorship and opportunities in one membership, with the partner and branch tooling behind it.

Next.jsNode PrismaPostgres

Infrastructure

The unglamorous half: relays, build pipelines that verify four platforms before anything ships, signed releases, and update paths that fail closed instead of guessing.

LinuxUDP relays CICloudflare
Download

GeneralsX

You need your own copy of Zero Hour installed. This contains no EA game data, and it never modifies your existing installation — it installs beside it.

Latest build

A 2 MB installer, not a 65 MB one - it downloads the build from this site as it runs, with a progress bar and transfer speed. Installs to your own user folder with no administrator prompt, finds your Zero Hour automatically, and updates itself after that.

Windows  64-bit
SHA-256 54a5e9f1d3a1e0cbf8ce510bd678bdfc627d40e4579f78c8db70a1318405c076
Check it certutil -hashfile GeneralsX-Setup-54a5e9f1.exe SHA256
macOS  Apple silicon
soon
Linux  x86-64
soon
iPadOS
soon

Every release is listed in a signed manifest. The installer checks the Ed25519 signature and the file’s SHA-256 before it writes anything — if either fails it refuses and leaves your game untouched.

This is an unsigned executable, so don’t take my word for it: the hash above is the one the installer enforces, the VirusTotal link is that exact file, and the launcher is built by CI from a commit rather than from my desktop. If the hash you compute doesn’t match the one here, don’t run it.