What it is
A rebuilt marketing site for a Singapore M&E and air-conditioning contractor, a firm that had been operating for decades. Decades of work, and a website that didn’t say so clearly.
Contractors have a specific problem online. The company is real, licensed and long-established, but the site looked like every other contractor site: stock photography of somebody else’s plant room, a contact form nobody answers, and claims a prospect has no way to check. The rebuild was about credibility, not decoration.
How it’s built
Astro 5, static output, zero client JavaScript by default. The font is self-hosted and images run through a Sharp pipeline producing AVIF and WebP. On a phone, on site, on mobile data, the page is there before the user decides to leave.
The part I’d point a developer at is the content collections. Every factual claim (trade registrations, years in operation, certifications) is a typed field in a Zod-validated collection rather than prose someone can edit loosely. If a claim doesn’t fit the schema, the build fails. That constraint exists for one reason: on a contractor’s site, every claim on the page traces back to a public registry source. Marketing copy drifts. Schemas don’t.
The contact strategy
The contact strategy is WhatsApp-first, because that’s how construction actually communicates in Singapore. Click-to-message links carry pre-filled inquiry templates, so the prospect sends a message with the job type already in it rather than staring at an empty chat box wondering what to write. Custom analytics events track contact intent: not pageviews, but the specific action of someone deciding to reach out.
Photography is the owner’s own, from real jobs. It is less polished than stock and considerably more convincing. A photograph of your own installed plant room proves something a purchased image cannot.
Where it stands
Built in a two-day sprint and deployed on Cloudflare on git push. Live, and doing the one job a contractor’s website has: making it easy to believe them, and easy to message them.
The screenshots here have the client’s name, registration numbers and contact details masked. It is their business, and their identity is theirs to share, not mine. Everything else is the real site.