Project
CIAS.io: a clearer route from visit to enquiry
A bilingual site rebuild that made the mobile menu usable, made the email address something you can act on, and retired duplicate app-policy URLs.
This is the CIAS website, not client work. There is no client, no testimonial and no client-reported result on this page. The numbers below are counts of automated checks, and nothing more.
What needed fixing
Three problems got in the way of the one thing the site is for: letting someone read enough, then get in touch.
-
Navigation hidden on phones
On small screens the navigation was effectively hidden, so a visitor on a phone could not reliably reach the rest of the site.
-
No dedicated email action
The address appeared as selectable plain text, but there was no dedicated email or copy action and no obvious next step.
-
Duplicate legacy policy URLs
The app policy was reachable at more than one legacy address, which split the canonical page and left entry points in the wrong language.
What was delivered
-
An accessible mobile menu
Opens and closes from the keyboard, closes on Escape, moves focus predictably, and still lists every link when JavaScript does not run.
-
Contact actions in context
The email address now offers the action that fits the context, including copying it, instead of leaving the reader to select text by hand.
-
Scope written in plain words
Quoted scope, what the customer owns, and where care and responsibility end are stated on the page rather than left to be assumed.
-
Real English and Portuguese pairs
Each page has a counterpart in the other language, so a reader can switch without landing on a partial translation or a dead end.
-
Permanent, language-correct redirects
Old app-policy URLs redirect permanently to the current page, in the language the reader was already using.
-
Staged release with a way back
The change went out in stages, with a rollback path in place if a check did not pass.
How it was checked
- 58 public HTTP assertions
- 272 public browser assertions
- 10 Sep 2026 release these counts refer to
For the earlier release on 10 September 2026, the public site was exercised by two automated suites: 58 HTTP assertions and 272 browser assertions, all run against public URLs.
These are regression checks. They confirm that pages, redirects and interactions still behave as expected. They are not performance figures, conversion figures or client outcomes, and they are not a security, legal or accessibility certification.
What this demonstrates, and what it does not
What it demonstrates
- Bilingual delivery where each language is a real equivalent, not a partial translation.
- Navigation and contact patterns that keep working with a keyboard and without JavaScript.
- Legacy URLs retired without dead ends, using permanent and language-correct redirects.
- A release process with staging, a rollback path and automated checks against public URLs.
What it does not show
- This is first-party work: there is no client brief, no client sign-off and no testimonial.
- No sales, conversion or uptime result is measured or claimed anywhere on this page.
- The assertion counts are regression coverage, not proof of security, legal or accessibility compliance.
- The screenshot shows one desktop viewport on one date, not every page or breakpoint.
Talk about similar work
If your own site has a menu that hides on phones, contact details nobody can act on, or old URLs still floating around, that is the kind of work this was.
Prefer email? Write to hello at cias.io.