Corporate websites

A corporate site is the first thing a serious buyer checks. We build yours the way a product company builds its own: designed from a blank page for your brand, compiled to static HTML, served from a global edge, tested at every viewport, and written to be found.

Rendering

Static HTML, no runtime server

Delivery

Cloudflare's global edge network

Accessibility

WCAG 2.2 AA, verified per page

Languages

As many as you sell in

Tracking

No third-party scripts by default

Hosting

We host and run it, monthly

Deliverables

What a Whitewater site includes

Every engagement ships the same substance. The design and the words change per client; the engineering floor does not move.

01

A design system built for your brand

If you already have a brand, that is where the design starts. A logo, a palette, brand guidelines, a licensed typeface: we work from what exists and extend it into everything a website needs that a brand book never covers, such as a real type scale, a spacing rhythm, a layout grid, a state for every interactive element and a dark scheme that matches the brand rather than fighting it. If there is no brand system yet, we design one from a blank page.

Either way the result is authored for you and committed as code: no theme, no page builder, no component kit carried over from the last project. That is why two sites we build do not look like each other.

The dark color scheme is designed alongside the light one rather than inverted at the end, so a visitor who keeps their phone in dark mode sees a considered page instead of a washed-out one.

02

Pages written for the search a buyer actually performs

One page per intent, in the words your market uses. Headings answer questions instead of decorating the layout, and the internal links make the hierarchy obvious to a reader and to a crawler. Thin pages do not rank and do not convert, so every page carries the substance its job demands and then stops.

03

A contact path that actually delivers

The form is plain HTML that posts to a serverless endpoint on the same domain. It is protected by a Cloudflare Turnstile challenge, a hidden honeypot field and a fill-time check, and it sends from a verified sending domain so the lead reaches an inbox rather than a spam folder.

A visitor whose submission is rejected sees an honest error and an email address, never a thank-you page for a message that was quietly dropped.

04

Every page in every language you sell in

Each language gets real routes and real copy, with the hreflang cluster, the self-referencing canonical and the right text direction handled per page. This site ships in eight languages as its own proof.

05

Imagery and typography resolved at build time

Photographs are resized, converted to a modern format and content-hashed during the build, then served from your own domain. Brand fonts are subset to the scripts your locales need and self-hosted, so there is no third-party font request and no layout shift while a face loads.

06

Hosting, deploys and a test suite that gates them

We host and run the finished site for a monthly fee: the edge platform, the certificates, the sending domain, the deploys and the watching. The site is standard code in a repository with automated checks and a one-command deploy, and the tests are not decoration: accessibility, locale parity, security headers, metadata hygiene and link integrity all run on every change, and a red run blocks the deploy.

Relaunch

Replacing a site you already have

Most corporate sites are not first sites. Yours already ranks for something, already collects links from places you have forgotten about, and already has pages a customer has bookmarked. A relaunch that ignores that can undo years of accumulated traffic in an afternoon, so the migration is designed as part of the build rather than improvised on launch day.

01

An inventory before anything is designed

We list every URL the current site publishes, taken from its sitemap, its internal links, its server or CDN logs, and its Search Console history where you have it. Every URL then gets a decision: kept at the same address, moved, merged into a stronger page, rewritten, or deliberately retired.

The pages that already earn attention are protected first. If a thin, unloved page is quietly the reason half your enquiries arrive, that shows up in the inventory rather than after it has been deleted.

02

Content moved with its meaning intact

Copy, images, documents and downloads come across page by page. Where the volume justifies it we script the import, and then still read the result: an automated migration that mangles a table, loses a heading level or drops alternative text costs more to repair than it saved. Where the words still work we keep them, because a relaunch is not a licence to rewrite everything for its own sake.

The work is platform independent. Whether the current site runs on WordPress, a hosted site builder, a bespoke content system nobody maintains any more, or hand-written HTML from a decade ago, the content is treated as content and rebuilt into the new structure on its own terms.

03

A redirect map, written down and testable

Every address that changes gets a permanent redirect to its closest equivalent page. Never a blanket redirect to the home page, which search engines read as a soft deletion of everything you had. Merged pages point at the page that absorbed them, and a retired page points at the nearest parent that is genuinely useful to the person who followed the old link.

The map is a reviewable file in the repository, so you can read it before the switch instead of trusting that it exists. After cutover we request every old URL and confirm both its status code and its destination, and the redirects stay in place permanently rather than for a season.

04

What carries over, and what we drop on purpose

Carried over: the domain, the content that still works, imagery you own, your brand system, the address your form mail goes to, the analytics or advertising accounts you actually use, and every URL we can keep without bending the new structure around it.

Dropped on purpose: duplicate pages competing with each other for the same search, pages nobody has opened in a year, embeds and tracking scripts whose reports you no longer read, and plugins whose only job was patching the old platform. Every removal is a line on the inventory with a reason beside it, so nothing disappears by accident and you can veto any of it.

05

The cutover, and the weeks after it

The new site is live on a preview address long before the switch, so nothing is seen for the first time on launch day. At cutover we move the DNS, leave the old host reachable until the change has propagated everywhere, verify the redirect map, confirm form mail is arriving, submit the new sitemap, and ping the instant-indexing endpoints so engines re-crawl within days instead of whenever they next visit.

Then we watch. Search results move for a few weeks after any relaunch while engines re-crawl and re-evaluate the site: some queries settle higher, some dip before they recover. We track the fundamentals with you, meaning indexed pages, redirect health, Core Web Vitals and the queries that actually matter to the business, and we tell you what we see, including when the honest answer is that nothing needs doing.

What we will not do is promise a number. A careful migration protects what you have already earned and gives better content a fair chance to compete. Anyone who guarantees the outcome of a relaunch is guessing with your traffic.

Engineering

How it is built

The stack is deliberately small. Fewer moving parts means fewer things that break at two in the morning, and a site a different developer can still understand in three years.

Static first

Pages are compiled to HTML before any visitor arrives. There is no application server in the request path and no database query blocking the first paint. Content, navigation and metadata live in the HTML itself, so a crawler and a person on a weak mobile connection get the same page.

Enhancement, not dependency

JavaScript is added where it earns its place, scoped to the one component that needs it. Turn it off and the page still reads, the navigation still works and the form still posts.

Assets handled once

Images, fonts and styles are processed at build time and served with immutable cache headers under a content hash. Repeat visits fetch almost nothing, and a new deploy never serves a stale asset.

Deploys you can reverse

Every change is a commit. Continuous integration builds the site, runs the full test suite and only then publishes to the edge. If something is wrong, the previous version is one revert away.

Fig. 1 The page as a drawing: viewport, heading, primary action, contrast target.

In depth

Four disciplines, each with its own page

Search, accessibility, languages, and security are engineering disciplines here, not bullet points on a brochure. Each one has its own page with the full detail; this is the short version of each.

Built to be found

For most companies organic search is how a new customer arrives, so search is a build requirement: one page per intent with real substance, head hygiene and structured data enforced by tests, instant indexing on every deploy, and speed by construction. And an honest limit: nobody can sell you a ranking.

How we build for search

Usable by everyone

WCAG 2.2 AA is the floor, not a brochure claim: contrast verified in both color schemes, full keyboard support, comfortable targets, motion that respects reduced-motion settings, and an automated audit of every page at three widths that fails the build on any violation.

How accessibility is verified

Every language you sell in

A real route per language with copy written by people, the hreflang cluster and self-referencing canonicals done right, right-to-left handled in the layout system, and fonts subset per script. This site ships in eight languages as its own proof.

How multilingual is done right

Locked down, and the mail arrives

Static delivery leaves little to attack, strict security headers ship from day one with a hash-based content security policy, the form is defended in layers, and form mail sends from a verified domain so the lead reaches an inbox instead of a spam folder.

The security and mail floor

Hosting and changes

Who runs it, who writes it, and how it changes

From launch we host and operate the site for a monthly fee: the edge platform, the certificates, the sending domain your form mail travels on, the deploys, and the watching that tells us when something needs attention. The people who designed and built it are the people who keep it running, so a question about a page and a question about its hosting go to the same place and get the same answer.

What that is not: no proprietary page builder, no per-seat licence, and no editor you rent seats in. The site is standard code with its own tests, your domain stays your domain, and your content and your brand are yours. Where your contract includes it, you can take the software and host it yourself, and the way it is built makes that a straightforward move rather than a rescue. It is an option we put in writing when you want it, not the default arrangement.

For most companies the default is the better deal: one team that knows the codebase, one monthly line on the invoice, and no third party in the middle of a problem. The fee varies with the complexity and scope of what we run for you, and how we price an engagement is written up plainly on the process page. If you would rather run it yourself, tell us while the scope is being written rather than after launch.

Who writes the words

We do, unless you would rather. Copywriting is part of the build: we draft the page structure, the headings and the body text from the material you already have and from the way you describe the work yourself, in proposals, in sales email and in conversation.

What you supply is the substance and the sign-off: services, the claims you are willing to stand behind, names, addresses, anything that has to be exact. We will not invent a statistic, a testimonial or a case study to fill a space. If you have a copywriter, or you would rather write it yourself, send the words and we design around them.

Changing content after launch

A content change is an edit to a text file in the repository, followed by the same loop every change goes through: a branch, a preview address to check it on, the full test suite, and a deploy that reverts in one step. Nothing is typed straight into the live site, so a bad edit cannot take a page down.

In practice you send us the change and it goes through that loop, which is the quickest path for the small ones. Where your contract puts your own developers in the codebase, they work exactly the same way, which is what the documented setup and the tests are for. And if your team genuinely needs to publish several times a week without a developer, say so early: that is a different build with an editing layer in it, and we would rather scope that than pretend a static site is a newsroom.

Start a website project [email protected]

Tell us what the site has to do and who it has to convince. Reach us via the contact form or at [email protected], and you will hear back from someone who builds.