Development
JNT Manpower — foreign-worker agency website with a self-serve CMS
JNT Manpower Solutions

Context
JNT Manpower Solutions is a Malaysian agency handling foreign-worker recruitment, outsourcing, legalisation and related permits for employers. Its previous site was a static brochure: no way to publish updates, no structured service pages, and contact details that did not match how the company actually operates across several offices.
They needed a proper marketing site for employers — and a way for their own staff to keep it current.
Challenge
- Ten service and information pages had to be editable by the client, not by us — text, hero images, FAQs, office cards and statistics.
- Enquiries came in through too many forms; the client wanted one clear path to contact.
- The company operates from three offices, each needing its own address, map and channel on the contact page.
- Content the client had not yet confirmed could not be hard-coded: empty fields had to disappear cleanly rather than ship placeholders.
- The site had to be ready for search from day one: metadata, sitemap, robots and structured data, without waiting for a separate SEO pass.
What we did
Development
- Public site — ten pages covering recruitment, outsourcing, legalisation, permits, a knowledge centre and contact, with a single enquiry form that every CTA funnels into. Phone and email are real
tel:/mailto:links, WhatsApp is one tap. - Custom CMS — an admin area for articles (with a source inbox feeding a five-step publishing flow), FAQs, site settings, statistics, offices and incoming enquiries. Every client-editable field falls back gracefully when empty.
- Offices module — a dedicated branches table and admin screen so the client can add a fourth office later without a schema change. Map embeds are lazy-loaded and the embed URL is whitelisted to Google Maps only.
- Form hardening — client-side validation gates the email notification as well as the submission, so empty or bot submissions never reach the client's inbox; validation errors clear as the user types.
- SEO baseline — canonical, Open Graph, sitemap and robots switch to the production domain through a single environment variable; EmploymentAgency and Article structured data are emitted where the data exists.
- Performance pass — images converted to WebP (the largest page went from 15.8 MB to under 1 MB), scroll-reveal motion with
prefers-reduced-motionrespected, and a full width sweep at eight breakpoints with zero overflow. - Testing — 117 unit tests and 78 end-to-end tests covering public pages and the admin flows.
We also produced a self-contained, English admin guide with real screenshots so the client's team can run the publishing workflow without us.
Outcome
- Launched on the client's own domain, with all pages returning correctly and search console connected.
- The client's staff edit articles, FAQs, offices and settings themselves; enquiries arrive in one inbox and by email.
- Three offices are shown on the contact page from data the client controls.
- Structured data, sitemap and metadata are in place for search from the first day.
- Remaining items — final copy for several pages, team photos, policy pages and company registration details — sit with the client and are filled in through the CMS, not through code changes.
- Scope
- Business website, Custom CMS, Multi-branch contact, Structured data, Enquiry form
- Outcome
- Launched: a ten-page agency website with a custom admin for articles, FAQs, offices and enquiries — the client's team edits content without a developer.