1. First Rule: Confirm Ownership & Permission

Before replicating any website, confirm the client has rights to the design/content/assets.

Mandatory Questions

Question Why
Is this your own website?Avoid copying third-party IP.
Do you own the Figma/design/assets?Needed for legal usage.
Do you want exact visual replica or improved rebuild?Defines scope.
Do you want same content or updated content?Impacts migration.
Do you want same backend/CMS/forms/integrations?Impacts architecture.
Do you want same URLs for SEO?Important for migration.

Anti-Pattern

Do not blindly replicate a competitor's website. You can use it as reference/inspiration, but not copy branding, content, images, unique illustrations, or proprietary UX patterns.

2. Define Type of Replication

Every project must be classified first.

Type Meaning
Pixel-Perfect ReplicaSame layout, spacing, colors, typography, responsiveness.
Functional ReplicaSame user flows/features, but UI can be improved.
Migration ReplicaSame website rebuilt on a new platform like React, WeWeb, Bubble.
Modernized ReplicaKeep brand/content but improve UX, speed, SEO, accessibility.
Backend ReplicaSame frontend but backend/CMS/API rebuilt.
CMS ReplicaSame design but editable through CMS.

The scope must clearly say which one is expected.

3. Initial Client Intake Checklist

Required Inputs From Client

Item Required? Notes
Figma fileIf design existsMust have view/edit access.
Existing website URLIf deployed site existsNeeded for audit.
Admin accessIf WordPress/Webflow/etc.Needed for content/forms/plugins.
Hosting accessIf migration neededcPanel, Vercel, Netlify, Cloudflare, etc.
Domain/DNS accessIf launching new versionNeeded for go-live.
Brand assetsYesLogo, colors, fonts, images.
Content copyYesFinal text or permission to extract old content.
Analytics accessScenario basedGA4, Meta Pixel, Hotjar, etc.
Form destinationYesEmail, CRM, webhook, database.
SEO requirementsYesURLs, metadata, redirects.
CMS requirementScenario basedStatic vs editable content.

4. Discovery Audit Before Building

Before writing code or building in no-code, audit the source.

Website Audit Checklist

Area What to Check
PagesAll public pages and hidden pages.
NavigationHeader, footer, dropdowns, mobile menu.
FormsContact, newsletter, booking, quote, login, lead forms.
CTAsButtons, links, modals, popups.
Dynamic ContentBlog, case studies, products, listings.
SEOPage titles, meta descriptions, canonical URLs, schema.
IntegrationsCRM, email, chat widget, analytics, payment, calendar.
AnimationsScroll effects, sliders, hover effects, transitions.
ResponsivenessDesktop, tablet, mobile layouts.
PerformanceImage size, scripts, loading speed.
AccessibilityContrast, keyboard navigation, alt text.
TrackingGA4, GTM, Meta Pixel, LinkedIn Pixel.
Legal PagesPrivacy, terms, cookie policy.
SecurityForms spam protection, SSL, old plugins if WordPress.

5. Page Inventory Standard

Create a page inventory before development.

Page Name:
URL:
Page Type: Static / CMS / Dynamic / Form / Landing Page
Source: Figma / Existing Website / Client Content
Responsive Required: Yes
SEO Required: Yes
CMS Editable: Yes/No
Forms: Yes/No
Integrations: Yes/No
Priority: P0/P1/P2

Example:

Page URL Type CMS Needed Notes
Home/Static/MarketingNoMain landing page.
About/aboutStaticNoCompany content.
Services/servicesStatic/CMSMaybeService cards.
Blog/blogCMSYesDynamic posts.
Contact/contactFormNoSends to CRM/email.
Privacy Policy/privacy-policyLegalMaybeSEO noindex optional.

6. Design Extraction Standard

From Figma

Area Standard
TypographyFont family, sizes, weights, line heights.
ColorsPrimary, secondary, background, text, border, error.
SpacingSection padding, grid gap, container width.
ComponentsButtons, cards, inputs, modals, navbars.
BreakpointsDesktop, tablet, mobile frames.
AssetsExport SVG where possible, WebP/PNG for images.
IconsUse SVG/icon library consistently.
InteractionsHover, focus, active, disabled states.
VariantsButton variants, card variants, form variants.

From Deployed Website

Area Standard
ScreenshotsCapture desktop, tablet, mobile.
FontsIdentify font family and fallback.
ColorsExtract actual hex values.
SpacingMeasure section padding and layout widths.
ImagesGet original assets from client/admin when possible.
IconsUse licensed/open-source replacement if original unavailable.
ContentCopy only with client permission.
AnimationsDocument expected behavior.

Do not rely only on visual guesswork. Create a design token sheet.

7. Design Token Standard

Every replica should have design tokens.

Colors:
- Primary:
- Secondary:
- Text:
- Muted Text:
- Background:
- Border:
- Success:
- Warning:
- Error:

Typography:
- Font Family:
- H1:
- H2:
- H3:
- Body:
- Small:
- Button:

Layout:
- Max Container Width:
- Desktop Padding:
- Tablet Padding:
- Mobile Padding:
- Section Gap:

Components:
- Button Radius:
- Card Radius:
- Input Height:
- Navbar Height:

For React, this becomes Tailwind/theme variables.

For WeWeb/Bubble, this becomes global style variables/classes.

8. Technology Decision Standard

React / Next.js Use When

Use React/Next.js When
High performance is required.
SEO matters strongly.
Custom UI/animations are needed.
App has complex logic.
Backend/API integration is advanced.
Long-term scalability matters.
Client wants full code ownership.
Custom dashboard/SaaS is needed.

WeWeb Use When

Use WeWeb When
Client wants no-code frontend with API/backend flexibility.
Backend is Supabase/Xano/custom API.
App is data-driven but frontend should be editable.
Fast iteration is important.
Client may manage screens later.

Bubble Use When

Use Bubble When
Client wants full no-code app with frontend + backend.
Internal tool/MVP is required fast.
Complex custom frontend performance is not the priority.
Workflows and database logic can live in Bubble.

WordPress Use When

Use WordPress When
Client wants content-heavy marketing site.
Blog/editorial workflow is important.
Non-technical users need easy editing.
Existing SEO/blog migration is large.