Personal project
Browser platformers ship megabytes of sprites and audio before the first frame draws, and online play usually needs a server somebody has to pay for.
The result
Four bosses and online co-op, with zero image or audio files shipped.

Run right across tile-based levels, collect coins, stomp foes, dodge hazards, parry pink bolts, and topple four hand-drawn bosses — BARKBROOD the elder oak, GRANITE the stone golem, RIME the ice spire, and THE OVERCLOCK, an airborne finale. Four biomes — golden-hour meadow, crystal cavern, industrial foundry, and a moonlit boss arena — each ship their own palette and parallax backdrop.
The full platforming kit is there: variable jump, duck and fast-fall, dash, wall-jump, shooting with 8-way aim, a parry, moving and crumbling platforms, and checkpoints. It plays on phones too, with auto-detected touch controls, auto-fire, and a layout that respects notches and the mobile address bar.
There is not a single image or audio file in the repository. The Cuphead look — ink-outlined curves, boiling lines, and a warm vintage film grade — is rendered live every frame on the Canvas 2D API, and a clean Mario-style pixel path ships alongside it, switchable at any time. Every sound effect and music track is synthesized with the Web Audio API.
No engine, no assets, no backend — everything on screen is drawn, and everything you hear is synthesized, at runtime.
Press C on the title screen, share a 4-letter code, and a friend drops into the same world — same enemies, same bosses, combined boss damage. The connection is peer-to-peer over WebRTC: a public broker handles only the initial handshake, then all game data flows directly between the two players. The host runs the one authoritative simulation while the joining player’s character is predicted locally, so movement feels instant instead of waiting on the network.
The codebase is strict TypeScript on Vite with a fixed-timestep loop that decouples physics from frame rate. The render layer never mutates state, all gameplay constants live in one file, and every level and boss is an authored JSON file — adding a stage requires no physics changes at all.
First call is free, 20 minutes
Write what is eating your time or losing you money. I reply within one working day with a plan and a price — and if I am not the right person, I will say so.
Questions about Haithem? Ask the assistant.