BarbagalloDigital

My own project Website: barbagallodigital.com

A site that won't let me overpromise.

The site you're reading. Before a release, the tests read every page and fail on wording I've ruled out, and the current release was checked file by file.

  1. The barbagallodigital.com homepage, headline "Nobody's watching your website. I will.", at 320 pixels wide 320 px
  2. The same first screen at 390 pixels wide 390 px
  3. The same first screen at 768 pixels wide 768 px
  4. The same first screen at 1440 pixels wide 1440 px
My own project The live homepage's first screen at the four widths every page is tested at, captured from the released files. Not client work.

At a glance

Built with
Astro as a static site, plain CSS, two self-hosted typefaces, no tracking cookies
Tested with
154 unit tests and 793 browser tests, run before the RC5 release
Checked at
Four screen widths, from 320 pixels to desktop, with axe accessibility checks
Released
From a tagged commit, every file verified on the server, the previous site kept for rollback

How it was built

The tests check what the pages say

Marketing copy drifts. A sentence written in a hurry claims a faster reply, or a service that isn’t ready. Here, before a release, the tests read the text of every page and fail if they find wording I’ve ruled out:

  • a service that isn’t available yet, unless it’s labelled “not available” beside it;
  • a backup, monitoring or turnaround commitment stronger than the ones I’ve made;
  • a years-of-experience figure, or a description of my background I’ve retired;
  • any email address other than the one I publish.

Tested the way visitors use it

  • Every page at 320, 390, 768 and 1440 pixels wide, including with text enlarged to 200%, with no sideways scrolling.
  • Automated accessibility checks against WCAG 2.2 AA on every page at every width.
  • Both forms tested with and without JavaScript, against the security policy written for the server.
  • The phone menu tested in the Safari engine as well as Chrome.

One release, in numbers

From the release record of RC5, deployed on 12 November 2026:

  • 69 of 69 files matched their checksums on the server, before the switch and after it.
  • 67 of 67 public files passed through the content network that serves the site, with every non-HTML file matching its checksum.
  • 26 of 26 live browser checks passed after the switch, at desktop and phone sizes.
  • One real message through each form, accepted by the form service.

No years-of-experience figures. Ever.

That’s a rule I set for this site, because a number of years says little about the work. Before a release, a test reads every page and fails if it finds one. The code is below, for anyone who wants to check it.

Real sourcescripts/lib/guards.mjs
// Owner decision 2026-11-07: no numerical years-of-experience claim of any kind on this site.
const NUMBER = '(?:\\d+(?:\\.\\d+)?\\+?|one|two|three|four|five|six|seven|eight|nine|ten|eleven|twelve|fifteen|twenty)';
const YEARS = new RegExp(`\\b${NUMBER}(?:\\s+and\\s+a\\s+half)?[\\s-]+years?\\b`, 'gi');
From this site’s release tests, read from the file when the site is built. Before a release, every page is read, and any number of years of experience fails the release.

What this doesn't show

The limits, stated plainly, so you can weigh the evidence.

  • The site is new. This case is about how it’s built and checked, not about business results: there aren’t any to report yet.
  • The release tests catch wording I’ve ruled out. They can’t judge whether a new sentence is true; I still have to.

What it shows about how I work

This is my own project, not client work. Here's what it says about my habits.

  • I treat what a page claims as something to check, not only something to write.
  • I look at layouts on a phone-sized screen first, because that’s where customers are.
  • On my own sites, I release changes in a way that can be checked and reversed.

Want your site built, or looked after?

Start with the free check: one page on what your customers see, written by me.

Free, one page, no login.

Get a free website check