UVAMAI

Services · Ship

A site is only finished when someone is running it

We build sites that load fast, work for everyone and can be found — and then we host them on infrastructure we operate, patch and monitor ourselves. This site is one of them, and everything it claims about itself is checkable.

Talk about a site

The build

What we hold every site to

Not aspirations. These are gates in the pipeline, and a change that breaks one does not merge.

  • Static where it can be

    Pages prerendered ahead of time, so a visit costs no database round trip. The fastest query is the one that never runs.

    prerendered at build

  • Accessibility as a gate

    WCAG 2.2 AA targeted, with an automated axe scan and a Lighthouse audit on every pull request. A regression fails the build.

    axe + Lighthouse in CI

  • Performance budgets

    Payload and Core Web Vitals thresholds enforced in the pipeline, so the site does not quietly get heavier one component at a time.

    budgets, not reports

  • Found, not just built

    Generated sitemaps that cannot drift from the pages, structured data, canonical URLs, and a redirect map so a migration does not lose your rankings.

    sitemap generated from content

  • Content you can actually change

    Structured content behind a typed contract rather than copy baked into components. A malformed edit fails the build instead of appearing on the live site.

    schema-validated content

  • Security headers by default

    HSTS, a content security policy, frame and referrer controls, and a permissions policy switching off the device APIs the site never uses.

    curl -I and see for yourself

The hosting

What running it actually involves

Hosting is sold as a line item and delivered as an afterthought more often than anything else we do. Here is the whole of it.

Images are built in CI, tagged by commit, and pulled by the server — builds never run on the box serving traffic. A deploy waits for the container's own health check and fails if the live site is not reporting the commit that was just pushed.

Every service runs unprivileged, in a container with hard memory and CPU limits, bound to the loopback interface behind a reverse proxy. A runaway process takes down itself and nothing else on the machine.

Uptime and certificate expiry monitored externally, resource use and logs monitored internally, with alerts that reach a person. Log files are size-capped, because an uncapped log filling a disk takes down every service on the host.

Backups that have actually been restored, and rollback by redeploying a previous image tag — seconds, because the image is already in the registry. A backup nobody has restored is a hypothesis.

Being straight about it

Two things worth knowing before you ask

  • We are not the cheapest place to park a brochure

    If you need five static pages and nothing else, a managed platform will cost you less than we will and serve you perfectly well. We will tell you that rather than quote for it.

  • We host what we build, and what we can support

    We do not take over an unfamiliar estate sight unseen. We will audit it, tell you what we found, and then say whether we can run it — sometimes the honest answer is not yet.

Ask us what we would do with your site

Send the URL. You will get a specific answer about that site, not a capability deck.