DemoNorthgate Device Repair is not a real business. This is a working demonstration of a white-label repair storefront that is for sale.See what it costs
This is the product page

Northgate Device Repair does not exist.

Every other page on this site is a demonstration. The shop, the address, the phone number, the reviews and the ticket numbers are invented. What is real is the storefront underneath them — a white-label repair site that any shop can buy, point at one config file, and run under their own name by the end of an afternoon.

What you are buying

The half of the job your shop software doesn't do

RepairDesk, RepairShopr and RepairQ all sell you tickets, inventory and a thin customer portal. None of them sells the customer-facing half. This is that half, and nothing else.

Instant quote flow

Device, model, fault, price. Four taps and a real number, straight out of your own price grid.

Booking and drop-off

Counter, on-site or posted in. Posts JSON to any endpoint you already have — or runs in demo mode with none.

Repair status lookup

A ticket number and six stages. Stops the phone ringing while somebody is mid-repair.

Priced service catalogue

A real table with tabular figures, bench times and warranty terms. You set every number.

Warranty and turnaround

The page every shop needs and nobody writes. Covered, not covered, and how a claim works.

Trust signals

Part grade, warranty length, no-fix-no-fee, the process diagram with the awkward branch in it.

The white-label promise

One file. That is the whole rebrand.

There is not a single business fact anywhere else in this codebase. No name in a component, no phone number in a footer, no price hardcoded in a table. Change site.config.ts and the site is yours — including the colours, which the whole design system reads from the same file.

// client/src/site.config.ts

brand:   { name, monogram, tagline, established }
theme:   { bg, surface, ink, accent, trim, radius, fonts }
contact: { phone, email, address, serviceArea, hours }
devices: [ { brand, models: [ { label, tier } ] } ]
faults:  [ { label, blurb, instantQuote } ]
pricing: { grid[fault][tier] = { price, minutes } }
warranty:{ covers[], excludes[], claim }
trust / process / faq / reviews
integrations: { bookingEndpoint, statusEndpoint }
demo:    { enabled: false }   ← removes this whole page

A contrast script ships with it: npm run contrast measures every text tier against the surface it sits on and fails the build below WCAG AA, so a rebrand cannot ship an unreadable label.

How the instant quote is calculatedThe visitor picks a device model and a fault. The model maps to one of four price tiers. The fault and the tier index a single grid in site.config.ts, and that cell — a price and a bench time — is what appears on screen. A cell left empty produces "quoted after we've seen it" rather than an invented number.VISITOR PICKSiPhone 15 ProVISITOR PICKSCracked screenMAPS TOTier 3site.config.ts → pricing.gridT1T2T3T4screen$89$149$239$379battery$59$79$109$159port$69$89$119$169ON SCREEN, INSTANTLY$239 · about 1 hrAn empty cell is never a guess —it becomes “quoted after we've seen it”.
Pricing

Buy it once, or let us run it

The one-time licence is the headline, deliberately. A shop already carries two or three monthly software bills; a static storefront should not become the fourth and the first one cancelled in a slow month.

License

Most buy this
$1,450one-time

You host it. You own it.

  • The full repository, yours to keep and modify
  • One config file: brand, colours, prices, hours, warranty, devices
  • Deploy guide for Vercel, Netlify or any static host
  • No seats, no per-booking fee, no lock-in
Buy the licence

Managed

$95per month

We host it and keep it current.

  • Hosted, deployed and patched
  • Price-list edits on request, same day
  • Your domain, your SSL, your analytics
  • Cancel any month — you keep the repo
Start managed hosting

Done-for-you launch

$2,900one-time

Configured, written and live.

  • Your prices, devices and terms loaded in
  • Photography of your bench, not stock
  • Copy written for your shop, not a template
  • Twelve months of Managed included
Book a launch

At an average repair ticket of $120, the licence pays for itself at 13 repairs. One extra booking a week from a site that quotes instantly clears it inside a quarter. No payment processing is included and none is planned — the storefront quotes and books, and you take money the way you already take money.

What else costs

The gap this sits in

Researched September 2026. Between a $49 theme with no logic and a $2,000 freelancer build with no repair logic either, there is nothing. That gap is the product.

Comparable products and their 2026 prices.
What a shop is quotedPriceWhat it does not doSource
ThemeForest repair theme$49A theme. No quote engine, no status lookup.themeforest.net
Squarespace Core → Advanced$29 – $99 /moA page builder. You build the repair logic by hand.squarespace.com
Wix Core → Business$29.77 – $39.77 /moScheduling included, nothing repair-specific.wix.com
RepairDesk Essential → Growth$99 – $149 /moShop software. Appointments is a paid add-on.repairdesk.co
RepairShopr Starter → Repair Shop$69.99 – $139.99 /moTickets and inventory. Customer portal only.repairshopr.com
RepairQ Essential → Professional$90 – $180 /mo/locationPortal gated behind the middle tier.servicecentral.com
Housecall Pro Basic → Max$59 – $299 /mo$59/mo is the floor just for online booking.housecallpro.com
Freelancer-built site$2,000 – $8,000Six weeks, and still no quote engine.elementor.com
Agency-built site$10,000 – $35,000Not a competitor. Included for the top of the range.elementor.com
This storefront, licensed$1,450 onceQuote engine, booking, status lookup, priced catalogue, warranty page — all of it.COMPS.md

Full working with URLs is in COMPS.md in the repository; the pricing argument is in MODEL.md. Both ship with the licence, because a buyer who can check the reasoning is a buyer who does not haggle.

Want it in your name by Friday?

Tell us the shop name, your price list and your warranty terms. That is genuinely the whole brief — everything else is already built.

Start the conversation