A marine surveyor's website, rebuilt to be found and to be fast
The public website of Constellation Marine Services' Fujairah branch, designed and built during my apprenticeship in Dubai and live since June 2026. It replaced an old site that was slow, dated and hard to maintain with a Next.js site built around one job: be found by the people who need a surveyor at the Port of Fujairah, and get them to a survey request in one tap. Six service groups, an experts page, a gallery and 28 articles carried over with their old addresses redirected.
- Client
- Constellation Marine Services (apprenticeship)
- Role
- Designer and developer
- Year
- 2026
- Stack
- Next.jsReactTailwind CSSResend
- Reading
- 5 min
- Live
- Visit
Context
In March 2026 I went to Dubai for a four-month apprenticeship with Constellation Marine Services, an independent marine surveying firm that has been putting surveyors on board ships since 2007 and has more than 22,000 assignments behind it. Most of my time there went into an internal contact-management system, which is on my About page. This is the other thing I built: the public website for the firm's Fujairah branch, shipsurveyorsfujairah.com, which went live in June, in my last weeks with them.
Fujairah is worth a sentence. The branch sits opposite the Port of Fujairah, a bunkering anchorage on the Gulf of Oman, and its surveyors go on board for ship owners, charterers, P&I clubs and insurers: to measure a cargo, check a bunker delivery, inspect a hull after damage, sign off an offshore lift, audit a vessel for compliance, or value one before a sale. Someone who needs a surveyor usually needs one soon, and they look for one the way anyone looks for anything now, by searching. That gave the site one job before any other: be the result for those searches, and take whoever lands on it to a survey request without friction.
The old site was in the way of that. It was slow and heavy, it looked its age and was awkward on a phone, the articles and the services were buried where nobody would find them, and keeping it patched and its plugins current had become a chore for an office whose business is surveying ships. The branch wanted something quick, current and low-maintenance, and I wanted to build it.
The firm supplied the substance: the service descriptions, the experts' profiles, the gallery photographs and the 28 articles its surveyors had written over the years. The design and the build were mine, working with an AI coding assistant (Claude Code).
The site
I kept it to six pages: Home, About, Services, Our Experts, Blog and Contact, with Request Survey as the button that leads to the last of them. Services is a single page in six groups, arranged the way the firm actually takes work: Cargo Surveys; Bunker and Petroleum; Hull, Machinery and Damage; Offshore and Marine Warranty; Compliance and Audits; Valuations and Pre-purchase. About carries the certifications and memberships a P&I club checks before it nominates a surveyor. The gallery shows recent jobs. The blog holds the 28 articles, each filed under a service category and credited to the surveyor who wrote it. The contact page is one form, with an enquiry type that tells the office at a glance whether it is looking at a survey nomination, a general question or an emergency.

For the look I kept the firm's navy and added one orange, and I spent that orange on a single thing. "Request Survey" is the button in the header of every page, the button in the hero, the button after the services, and the button at the end of every article under the line "Need a marine survey?". Wherever a visitor is when they decide, the next step is in reach. I laid everything out for a phone first, because a charterer's agent looking for a surveyor at short notice is more likely to be holding one than sitting at a desk, and widened it for the desktop from there.
Underneath, it is a Next.js site. The articles are files in the project rather than entries in a content system, so there is no database, no admin panel, and nothing that needs patching on a schedule. The form sends an email to the office through Resend. It is hosted with the company's own provider. And it is light: a third-party checkup (SEO Site Checkup, 18 September 2026) measured the home page's largest element on screen 0.87 seconds after opening it, against the 2.5 seconds Google counts as good, with nothing shifting around as the rest loads, the HTML at 11 KB compressed, and mobile usability at 100 out of 100. The page is there before a visitor has time to wonder whether it is coming.
Built to be found
The domain stayed the same, and the old site had years of pages indexed under it. I wanted to keep everything those pages had earned while every address beneath them changed, and to make each new page as easy as possible for a crawler to read.
The articles came first. They are the branch's best asset for search: working surveyors writing about hold cleaning, draft surveys, bunker quantity disputes, bollard pull, VLSFO management, the things people actually type when they have a problem on a ship. Each one had an address on the old site that other pages linked to. I moved all 28, and every old address now redirects to its new one, so those links still land and nothing the articles had earned was thrown away.
Then I gave each page its own title and description, written for the search it should answer rather than generated from a template. The words the firm is found by, marine, survey, services, Fujairah, sit in the title, the description and the headings of the home page. Every image has an alt text. The articles are filed under the service categories, so a search engine, and a reader, sees a cluster of pieces on cargo surveys rather than an undifferentiated list.

The whole of it went live in June 2026, in my last weeks at the branch, with every article, service group and expert in place, and the request button one tap away wherever a visitor happens to be.
Want to talk? Say hello.
A project, a question, or just to compare notes. I read everything and write back within a couple of days.