← All work

Frostforge product sites

Five product sites, one stack, no cookie banner between them

Role
Sole developer - design and build across all five
Period
2026
Status
In production
Stack
Astro · Cloudflare Pages · Vanilla JS · PWA
5
sites live
0
trackers or third-party fonts

frostcord.com, frostphone.com, frostify.org, frostforge.org and phonitylabs.com - the marketing surface for the products, built and maintained as one system instead of five one-off sites.

01One stack, five sites

All five are Astro with fully static output, CSS custom properties for theming, self-hosted fonts and assets, and bilingual where the audience needs it. Nothing is fetched from a third party - no analytics, no third-party fonts, no embeds, no tag manager - which is the entire reason none of them shows a cookie banner. That is not a compliance trick; there is simply nothing to consent to.

Building them together means a fix to the language switcher, the navigation or the security headers happens once. It also means the products look like they come from the same company, which for a small label is most of what branding is.

02Mockups that cannot go stale

The product screenshots on those pages are not screenshots. The phone conversation on the telephony site, the player interface on the music site, the chat window - all of them are drawn in CSS and SVG.

That takes longer than a screen capture and pays for itself twice: they stay sharp at any size and in any colour scheme, and they never start showing an interface the product no longer has. A marketing site whose screenshots are eight months old is telling visitors something true about how the company maintains things.

03Decisions worth explaining

Security headers as real headers

Each site ships a Content-Security-Policy, HSTS and the rest as actual HTTP headers from the platform config rather than as meta tags, because browsers ignore most of them as meta tags. It is a small thing that is either done properly or not done, and doing it once across five sites costs nothing extra.

Questions about this project?

I am happy to walk through the architecture, the parts that did not work, or the code itself.