Most of our projects exist to change how a company looks online. This one existed to change nothing. Prime Coat manufactures industrial resinous floor and wall coating systems, and has since 1990. Their site ran on Webflow, and it was doing its job: customers knew it, search engines knew it, and the company liked it.
What they wanted was to own it. Off the rented platform, onto custom code, with nobody outside the building able to tell anything happened. The working rule sits in the project's source code as a plain sentence:
“The client must not notice any change.”
— The project's working rule, written into the source
Measure, don't reinterpret
There are two ways to clone a website. The common way is to eyeball it: rebuild each section from screenshots, get close, and call the differences improvements. The honest way is to measure the real thing. We opened the live site's rendered DOM and recorded what was actually there, element by element, then annotated the new code with those measurements so every value has a receipt.
Typography came first. The live site pairs three type families, each with a specific job: Instrument Sans at weight 400 for the hero headline, Lato at 700 for section headings, and Inter for body text, navigation, and buttons. We loaded the same three and mapped each one to its exact live role.
Then came the layouts that are easy to get almost right. The homepage markets collage is ten uniform 105 pixel square thumbnails positioned inside a centered 1170 pixel box, with some tiles deliberately bleeding off the edge of the viewport. Every left and top coordinate in our version is annotated as measured from the live DOM.
The same discipline ran all the way down. The big call-to-action band renders its heading at 60 pixels on a 72 pixel line height beside an 84 pixel square black arrow button with no border radius. The comparison tables on the market pages tint each column header with one of seven exact hex values sampled from the live pages.
- Three font families mapped to their exact live roles
- A ten-tile collage positioned to the measured pixel, off-screen bleed included
- Seven table-header tints sampled as exact hex values
- A 60 pixel heading and an 84 pixel square button, reproduced from the live CTA band
- Every page's existing meta titles and descriptions carried over as-is
Sometimes the most accurate motion is none
Scroll animations are close to a default in modern builds, and it would have been easy to add reveals here and call them polish. So we measured that too. On the live site, every section, including content far below the fold, loads at full opacity with no transform. The hero photo is static. The stat numbers are plain text with no count-up.
So the rebuild's motion system is intentionally a no-op, with the measurement written down beside the decision. Matching a site means matching its stillness as faithfully as its layout.
The one deviation, documented
We allowed ourselves a single departure. The live homepage darkens its hero photo with a black overlay at 39 percent opacity, which puts the white text closer to the legibility line than we ship. Our version uses 44 percent. The code records both numbers and the reason: guaranteed white-text legibility. A deviation that is measured, justified, and written down is a decision. Anything else is drift.
Same slugs, zero redirects
Content moved verbatim. The entire Webflow CMS was crawled into 1,708 lines of typed data: 27 coating systems across five product families, 11 market pages, 18 portfolio projects, and 64 articles with their bodies intact. 448 images came across with them. The result renders as 132 statically generated pages.
Every route also keeps its live slug, including the idiosyncratic ones like /careers-prime-coat and /news-updates. Each page's existing meta title and description carried over as well. That combination means the cutover needs no redirect layer at all: Google requests the URLs it has always known and finds the same content at the same addresses.
Slug parity is the quiet hero of the story. Redirects, even perfect ones, are a translation layer that has to be built, tested, and maintained. Identical URLs need none of that. The safest redirect map is the one that does not have to exist.
Why bother, if nothing looks different
Because underneath the unchanged pixels, everything changed hands. The company now owns the code outright instead of renting a page builder. All 132 pages are statically generated, so there is no CMS runtime to slow down or fall over. And the next time they do want the design to change, the change happens on their terms, in their codebase, at their pace.
Pixel-for-pixel cloning sounds like the least creative work a studio can do. We would argue the opposite. It takes more discipline to reproduce someone else's decisions exactly than to substitute your own. And the habit it demands, never approximate what you can verify, is the same habit that makes every other build trustworthy.
