Web & Digital
Public-facing sites, campaign pages, and the content architecture beneath them.
Most business websites fail quietly rather than loudly. They render, they resolve, and they slowly stop being true — a service that is no longer offered, a phone number that changed, a disclosure that was current three regulatory revisions ago. This work exists because a website is a claim surface, and a claim surface without a mechanism for staying correct will drift.
The work here covers marketing sites, campaign and landing pages, multi-page platforms, and the information architecture that decides what belongs on which page. It is the work most people mean when they say they need a website, and it is the one where the gap between what a site looks like and what a site is turns out to be widest.
Every site we build keeps its copy in version control instead of in a content management system. That is an unusual choice and it is a deliberate one. A CMS moves editing closer to the person who wants to edit, which is genuinely valuable; it also moves every claim on the site outside the reach of any automated check, which is how a fabricated certification or an expired disclosure ends up live with nobody able to say when it appeared. Copy in config files can be extracted, pattern-matched, and failed at build time. The trade is real and worth stating plainly: copy changes go through us instead of through an editing screen, and they are live the same day.
Information architecture is decided before anything is designed. That means a written route table — every page, its slug, its parent, and whether it is static or generated — agreed at the start, not discovered during the build. Route counts later become assertions in the build gates, which only works if they were decided rather than accumulated.
We do not treat a page template multiplied across many locations as an information architecture. A page that exists only because a town name could be substituted into it has nothing to say, and the mechanism that prevents it is a required per-location fact with no default value — a page that cannot state something true and specific about its subject cannot be generated at all.
Accessibility and contrast are measured, not estimated. Every color pair that carries text is computed and recorded in a table that travels with the design, and a value that fails is changed before it ships, not noted as a known issue. This sounds like a small thing. It is the difference between a site that is accessible and a site that has an accessibility statement.
Performance work here concentrates on what a first-time visitor on a slow connection actually experiences: the largest element above the fold, the fonts, and the number of requests before the page is readable. Typefaces are served from the site's own infrastructure instead of somebody else's, which takes an outside service out of the path before a page can appear and out of the privacy position at the same time.
7 pages.
Content in version control
Why the words on a site live under version control instead of in a content management system, and what that trade actually costs.
Information architecture
The route table is written and agreed before anything is designed, because page counts later become assertions the build enforces.
Campaign and landing pages
Single-purpose pages wired to measurement that reports what actually happened, not what a model inferred.
Accessibility
Contrast computed, not estimated, focus visible on every control, and keyboard navigation tested by using it.
Performance
Work concentrated on what a first-time visitor on a slow connection experiences, not on a score.
Structured data
One business entity emitted once across the site, referenced by identifier everywhere else.
Indexing and canonicals
Four independent layers decide whether a site is indexable, and they have to agree.
What Web & Digital does not take on.
- Hosted website builders. We do not work on platforms where what a page claims cannot be checked automatically before it is published.
- Advertising as a standalone service. Measurement and conversion tracking are built where they belong; campaign management is not sold here.
- Content writing detached from the build. Copy is part of the engineering surface, not a deliverable handed over separately.