Skip to content

Laguna Beach, California

Circulation Studio Now booking Q3
Circulation Studio
Now booking Q3
Circulation Studio
Laguna Beach, California Now booking Q3

About this site

We used to run this site the way we run a client's. A service page for every service, titles built to be found, the words arranged so a search engine would know exactly which aisle we were standing in. That is real work and we still do it, because plenty of clients need to be found and being found is the job.

It has been through a few versions since 2011. They are all still on the Wayback Machine.

The circulationstudio.com home page as the Wayback Machine captured it on 9 October 2011. Concentric grey and dark red rings fill the left half behind the words circulation studio, now open. A stacked lowercase navigation runs down the right: home, web design, seo, photo, print media, news, about us, portfolio, contact us. Below sit four columns headed Web Design, SEO, Photography and Customer Service.
The first one, captured October 2011.

We have been lucky enough to stay busy through clients and friends who send people our way. Which means this site does not have to go out and get the work. It only has to be true.

So it turned into the place we get to build properly. Tooling we wanted an excuse to try, design decisions argued down to the last pixel, and a way of writing the work up that sounds like people talking rather than a brochure. We closed the social accounts. We have never advertised. Nobody here has to write "Welcome to our Laguna Beach SEO Agency in Laguna Beach" ever again.

One honest exception. The Yelp material is not marketing for the work. It is the work, written down, with the parts we are still unsure about marked as unsure.

Built with

Eleventy
Static site generator. Every page is HTML on disk before a reader asks for it.
Vite
Asset pipeline. Hashes and bundles the one stylesheet and the one script.
Tailwind
Utility layer under hand-written component CSS, not instead of it.
Cloudflare Pages
Hosting. A push to the main branch is the deploy.
Bunny CDN
Images, at cdn.circulationstudio.com. Our own subdomain, so the scoreboard counts it as first party and its bytes are inside the page weight below.
Git
The source of truth. Every word and every rule on this site has a commit behind it.
Dual and Lora
Display and body. Dual is self-hosted from this origin. Lora is served by Google Fonts, which is the third-party request counted below. We use Dual's alternate glyphs, the O-target and the crossbar-less A, because they are fun.

Laid out in Claude Design. Constructed in Claude Code.

  • No CMS
  • No database
  • No plugins
  • No cookies
  • No tracking pixels
  • No third-party scripts

Structured data on every page, matching what is visible on it. Sources dated on every article. Pages corrected when the facts move, rather than left standing because they already ranked.

Scoreboard

Nothing below is typed by hand. Rows marked derived are recomputed on every build. Rows marked measured 2026-08-19 come from npm run measure:stats, which builds the site, serves it, and loads every page in headless Chromium. Built with npx eleventy, served from _measure by a static server with no compression, and loaded in headless Chromium at 1440 by 900 with no throttling. Bytes are what the browser received. The figures describe the build they were taken from, which is the one before the build you are reading, because writing them is what changed it.

19

Pages built

measured 2026-08-19

2

Articles, Yelp Hub tier

derived

2

Articles, library tier

derived

697ms

Full build, cold

measured 2026-08-19

9433bytes

JavaScript shipped, every page. 4089 bytes gzipped.

measured 2026-08-19

241.7KB

Median page, gzipped as production serves it. 382.5 KB uncompressed.

measured 2026-08-19

8

Requests to hosts we control, median page. This origin plus the CDN.

measured 2026-08-19

2

Third-party requests, median page, costing 50.6 KB. 3 at the worst, and 0 pages at zero. Every host contacted anywhere on the site: fonts.gstatic.com, fonts.googleapis.com. A host on a registrable domain other than circulationstudio.com. Our own CDN subdomain is not one.

measured 2026-08-19

148ms

Largest contentful paint, median page. 472 ms at the worst.

measured 2026-08-19, lab

0.0143

Worst cumulative layout shift of any page. 0 pages at zero.

measured 2026-08-19, lab

623KB

Heaviest page, gzipped: /yelp/

measured 2026-08-19

117.8KB

Lightest page, gzipped: /accessibility-statement/

measured 2026-08-19

Lab figures from headless Chromium on localhost, not field data. INP is not listed because it requires a real interaction to exist. The page weight is dominated by six self-hosted weights of the display face, which is a choice we made with our eyes open and which the number above will keep reminding us about.