Full-Stack Web · Games
Browser Arcade
Ten arcade classics and originals, rebuilt from scratch in vanilla JavaScript and HTML5 Canvas — no game engine, no frameworks — backed by real user accounts and a MySQL leaderboard.
arcade.png — nine games, one leaderboard
Overview
What started as a static art-and-documents site grew a full arcade. Each game is hand-written against the Canvas API — no libraries — which kept the bundle tiny and the game loops fully under my control. On top of the games sits a complete authentication layer and a server-side leaderboard, built on a free PHP + MySQL host.
The games
Behind the scenes
🔐 Real accounts
Sign-up and login with bcrypt password hashing, secure session cookies, a CSRF header, and per-IP login throttling.
🏆 Server leaderboard
Scores persist to MySQL via PHP/PDO endpoints and rank players across every game.
🔄 Transparent score sync
The client wraps localStorage so personal-best scores sync to the server automatically, with no per-game wiring.
🎨 Shared polish
A cursor-parallax background (reusing the site's gallery art) and a shared arcade stylesheet tie the games together.