Aternex.
The software workshopThis website: every change checked before it goes live

Aternex itself

This website: every change checked before it goes live

The site is the first case study a visitor can check for themselves.

Engagement
Aternex's own site, designed, built and run by Austin Lippert
When
2026
Stack
  • Next.js
  • React
  • TypeScript
  • Azure Front Door
  • Azure Storage
  • Azure Functions
  • Terraform
  • GitHub Actions
  • Vitest
  • Playwright
Small changes. Repeatable releases.
ChangeReviewChecksRelease
80 seconds

Median release, measured on the previous site in October 2026.

Project results · measurement details in the case study

The starting point

The challenge.

A consultancy's own site is the one piece of work every visitor sees, so it has to show the practice it describes: fast pages, honest numbers, tests that would catch a mistake, and releases that are routine rather than events. It also has to cost little to run and stay simple enough to change in an afternoon.

The change

The result.

Measured in early October 2026, pull request checks took 297 s at the median, browser tests included, and a release of the site took 80 s at the median. The repository then held 2,372 unit tests at 100% coverage, and no block of 50 or more tokens is copied. On 2 October 2026, the home page scored 100 in every Lighthouse category on mobile, and a reload downloaded 0 KB before the page showed.

The site is the first case study a visitor can check for themselves.

Inside the work

How the pieces
came together.

A closer look at the decisions and changes behind the result.

  1. 01

    Built the site in Next.js and React and exported it as static pages, served from Azure Storage through Azure Front Door, with the contact form handled by an Azure Function. Terraform defines all of it, so the whole estate can be rebuilt from the repository.

  2. 02

    Run formatting, type checks, lint, documentation checks and unit tests before merge, then browser tests against the production export before release. These checks catch mistakes early; test coverage describes which code ran, and review still matters.

  3. 03

    Build the production export during release checks and deploy that same checked artifact. Self-hosted runners keep the checks practical, and the deploy uploads files, refreshes the edge and verifies the public response.

  4. 04

    After deployment, check the public pages, their scripts and styles, the resume and the contact API through the public domain. Retry while the edge refreshes, and fail the deploy if these checks do not pass, so the release is flagged for investigation before main advances.

  5. 05

    Cut what each visit costs: fonts trimmed to the characters the site uses, artwork cached for a year under file names that change with the drawing, a service worker that answers a reload from its own cache, and a still contour hero in place of a 3D one once the page loaded fast enough that the swap showed.

  6. 06

    Kept one home for every shared piece, from the calendar and money formatting the demos use to the form fields and page intros, so a fix in one place reaches every page that uses it.

A conversation is a good place to start

Have a challenge like this?

Let’s look at what your team needs and where a focused piece of engineering could help.