Issue 01·Pattaya Coffee··Anonymous Customers·Paid Bills·No Comps
Colophon · Issue 01

The craft behind the craft.

Pattaya Coffee covers cafes that take their craft seriously. We try to hold ourselves to the same standard on the site that delivers it. Here is what runs underneath.

// Colophon

Built to be read.

Static HTML, no trackers, no ad slots. The typography is loud on purpose — this is editorial, not a template farm.

If the page feels unfinished, good: the scorecards are unfinished too.

In one sentence

Static HTML in cream and espresso, set in Fraunces and Inter, hosted on Cloudflare, built without a CMS, edited in a text editor, deployed with one git push.

01Typography

Display
Fraunces — variable weight 500–600, optical size 9–144. By Phaedra Charles, Undercase Type, 2020 (and steadily updated). Open source. Loaded from Google Fonts.
Body
Inter — weights 400, 500, 600. By Rasmus Andersson, 2017. Open source. Loaded from Google Fonts.
Mono
JetBrains Mono — weights 500, 600. By JetBrains, 2020. Open source. Loaded from Google Fonts.
Fallbacks
Source Serif Pro · Georgia · system-ui · IBM Plex Mono · ui-monospace. The page is fully readable if Google Fonts is blocked.

02Palette

Cream (bg)
#FAF6F0 — the paper.
Sand
#F2EBE0 — section bands.
Paper
#FFFCF6 — cards.
Espresso Orange
#D4763C — the single accent. Used for italics, hovers, ranks, accents.
Espresso Ink
#2C1810 — display foreground.
Cocoa
#4A3528 — body foreground.
Mocha
#7A6555 — meta foreground.
Latte
#B5A696 — subtle foreground.

Accent contrast is 4.8:1 on cream — passes WCAG AA for large text and UI. We do not set body in Espresso Orange.

03Code stack

HTML
Static, hand-written. No CMS. No framework. No client-side hydration.
CSS
One stylesheet, plain CSS. Custom properties, container queries, view transitions, prefers-reduced-motion / -data, focus-visible.
JS
Vanilla, ~17 KB unminified. Cmd+K, anchor links, reading progress, Web Share, install-prompt button, IntersectionObserver reveals, mobile drawer.
Build
Node ESM script that copies, validates JSON-LD, checks canonical consistency, walks internal links, generates the sitemap, and minifies. node scripts/build.mjs.
Service worker
Network-first for navigation, cache-first for assets, stale-while-revalidate for /data/index.json. Precaches core pages and OG cards.

04Hosting & infrastructure

Edge
Cloudflare Pages — HTTP/2, HTTP/3, Brotli, automatic TLS, global anycast.
DNS
Cloudflare. HSTS preload eligible.
Source
GitHub repository, plain text in a Git history.
CI
GitHub Actions runs JSON-LD validation, build, Lighthouse desktop + mobile audits on every push.
Analytics
None. No Google Analytics, no third-party trackers. See /privacy.

05Editorial workflow

Cafes are visited anonymously, twice minimum, with paid bills. Scores are recorded on paper at a different cafe the same day, then transcribed into data/index.json at the end of each week. The site is rebuilt and pushed; Cloudflare deploys in under a minute. The full editorial method is on /standards.

07 Sister sites

Pattaya Coffee is one editorial property in the Pattaya Authority network — ten specialty guides plus the parent agency. Cross-links appear in the footer on every page; contextual mentions in guides and cafe entries point to sister sites where they help readers plan beyond coffee.

Canonical network copy: Press kit · llms.txt · Pattaya Authority · Coffee

06Standards & specifications

The site implements: PWA Manifest 2.0 with shortcuts, screenshots and share_target; OpenSearch 1.1; Atom 1.0 and RSS 2.0 feeds plus JSON Feed 1.1; Schema.org JSON-LD across NewsMediaOrganization, WebSite (with SearchAction), Person, CafeOrCoffeeShop, GeoCoordinates, OpeningHoursSpecification, HowTo, DefinedTermSet, TouristTrip, Speakable, Article, FAQPage, BreadcrumbList, and ItemList; hreflang en + x-default; Speculation Rules API; View Transitions API. Sitemap, robots.txt, security.txt, humans.txt, llms.txt, and a key file for IndexNow are all served.

07Inspirations

The editorial method owes a debt to Sprudge's anonymous reviewing convention, the New Yorker's house style for plural-voice editorial, the Michelin Guide's discipline (without its industry capture), the Information's no-ads pledge, and the IndieWeb principle that you should be able to read every site equally well in a dumb browser.


Last updated: .
Want to know more about a specific detail? Email info@pattaya-coffee.com.