Perfect Pair Blackjack ▶ Play free
ppblackjack.co.uk · how it’s built

Perfect Pair Blackjack tech stack

A static, single-file web game. There is no server code and no database: GoDaddy points the domain at GitHub Pages, GitHub serves the files, and everything else happens in the player's browser.

What happens when someone visits

The services you run on the left, the browser in the middle, third-party services on the right.

YOUR INFRASTRUCTURE ON THE PLAYER'S DEVICE THIRD-PARTY SERVICES GoDaddy DNS ppblackjack.co.uk A → 185.199.108–111.153 GitHub Pages Free static hosting HTTPS · custom domain GitHub repo Geodude117/PPBlackJack branch: main publishes on push Player's browser phone · tablet · laptop The game index.html HTML · CSS · JavaScript no frameworks, no build step localStorage chip balance · settings stays on this device Guide pages Perfect Pairs · 21+3 Basic Strategy · Privacy saves ① look up domain GitHub's address ② request page HTML, CSS, JS, images Google AdSense banner + rewarded ads UK/EU consent message + ads.txt on the site Cloudflare Web Analytics cookieless visit counts Google Fonts rounded UI typeface ③ load ad script ads + consent ④ page view one way, no cookies font files Google Search Console sitemap.xml · structured data → Google Search results crawls the site sends searchers

Scroll sideways to see the whole diagram →

One request, then the browser does the rest. DNS turns the domain into GitHub's address, GitHub Pages sends the files, and from then on the game runs entirely on the player's device. The only things that leave the device are the ad requests to Google and an anonymous page view to Cloudflare. Chip balances are never sent anywhere.

How the game got here, and how a change ships

From a university project to a live website. Every later update follows the last three steps.

HOW IT STARTED EVERY UPDATE Uni project Unity C# iPhone app Xcode SwiftUI Web version ported with Claude HTML/CSS/JS tested headless git push to main vX.Y.Z commit GitHub Pages rebuilds ~1 minute Live ppblackjack .co.uk
No build tools between the code and the live site. The page that runs in the browser is the file in the repo. Pushing to main is the whole deployment, which is why fixes go live in about a minute.

The stack, layer by layer

Everything the site depends on, and what each piece does.

LayerToolWhat it does
DOMAINGoDaddyRegisters ppblackjack.co.uk and holds the DNS records: four A records and a www CNAME pointing at GitHub Pages.
HOSTINGGitHub PagesServes the site for free over HTTPS, straight from the main branch of the GitHub repo.
FRONT ENDHTML, CSS, JavaScriptThe whole game is one file with no frameworks and no build step: card logic, side bets, animations, drag-to-bet chips and strategy hints.
STORAGEBrowser localStorageKeeps each player's chip balance and settings on their own device. There's no database or account system.
CONTENTStatic guide pagesPerfect Pairs, 21+3 and Basic Strategy guides, plus a privacy policy, sharing one stylesheet.
ADVERTISINGGoogle AdSenseA banner slot and rewarded "Watch ad for +500 coins" ads (H5 Games Ads), Google's UK/EU consent message, and ads.txt.
ANALYTICSCloudflare Web AnalyticsCounts visits, pages, devices and referrers without cookies or personal data.
SEARCHGoogle Search ConsoleIndexes the site from sitemap.xml, helped by robots.txt, page titles and FAQ structured data.
BUILT WITHClaudePorted the SwiftUI app to the web, ran automated play-testing in a headless browser, and handled DNS, SEO and ad setup.
ORIGINSUnity (C#) → SwiftUIStarted as a university project in Unity, then rebuilt as a native iPhone app before this web version.