2pac spray painting · Burleigh Heads, Gold Coast · 2026
- Client project
- In development
A 2pac spray-painting site with a merch store and card checkout built in
A website for a Burleigh Heads 2pac spray-painting shop, with a merch store that takes card payments through Stripe Connect and an owner dashboard for stock, orders and traffic.
In development: this site isn't live yet, so the screenshots come from a local build.
- Client
- Precision 2Pac
- Industry
- 2pac spray painting
- Location
- Burleigh Heads, Gold Coast
- My role
- Design and build
- Year
- 2026
- Status
- In development
By Joshua Jager-Hoare · Updated


The brief
Precision 2Pac sprays 2pac finishes on kitchens, wardrobes, laundries, internal doors and vanities for homeowners, builders and cabinet makers around the Gold Coast. The business needed a proper site that explains the trade and brings in quote enquiries, and it also wanted to sell its own branded gear online: tees, hoodies, caps and hi-vis.
I built the marketing pages first, in March 2026, using the contact details from the business's own social profiles. My first shop, in May, put the painting services themselves into a cart and emailed a quote request at “checkout”. In June the brief changed: spray painting stays as marketing content, and the cart sells merch with real card payments.
What I built, and why
Spray painting stays the main event
On /services the painting work is information, not products: each service explains the finish and leads to a free quote request. When the brief changed in June, the services came out of the cart and went back to plain pages written for homeowners, builders and cabinet makers.

The painting services, explained on their own terms. Local build; not live yet.View full size: The painting services, explained on their own terms. A merch store inside the same site
The shop sells apparel, headwear, workwear and accessories, each with sizes, colours and stock levels. It has its own Supabase database for products, variants, orders and traffic.
The public site only reads that database from the server, and the database refuses direct public access on every table. Every product page goes into the sitemap automatically.

Spray painting up front, merch one click away. Local build; not live yet.View full size: Spray painting up front, merch one click away. The server decides what gets charged
Cart totals in the browser are only a preview. At checkout the server re-prices every item and re-checks stock, and it refuses an order bigger than what's on the shelf rather than quietly shrinking it.
The Stripe webhook marks an order paid and takes the stock off in one database step. A retried webhook can't double-count an order, and two people can't both buy the last hoodie.

Cart totals are a preview; the server re-prices everything at checkout. Local build; not live yet.View full size: Cart totals are a preview; the server re-prices everything at checkout. Sales go straight to the owner's Stripe account
Checkout runs through Stripe Connect. The owner connects his own Stripe account once from the dashboard, and each sale is charged on that account. The site stores the connected account ID, never a Stripe secret key, and a settings check stops test-mode and live-mode details being mixed up.
The dashboard itself signs in by email link, and only addresses on an owner allowlist get in. Every dashboard action re-checks that the person is an owner.
Reviewed hard, and safe with no keys at all
I ran two adversarial review passes over checkout, the webhook and sign-in, then fixed all 15 findings in one hardening commit. Among them: an open redirect in the sign-in callback, and dashboard revenue that stopped counting after 1,000 orders.
The site also builds and runs with no keys. Without them the shop shows empty, checkout says it isn't taking payments yet, and the dashboard stays locked. Nothing breaks while the accounts are being set up.
What shipped
- Home, Services, About and Contact pages, built in March 2026.
- Shop and product pages with size and colour pickers and live stock, a slide-out cart drawer and a full cart page that remembers the visitor's cart between visits.
- Card checkout on Stripe's hosted page, with success and cancel pages, an emailed receipt for the customer and an order notification for the owner.
- An owner dashboard: overview, inventory with inline stock, price and visibility edits, orders with status, a 14-day traffic chart from a first-party tracker that counts visitors with a daily-changing hash, and Stripe settings.
- The store, checkout, webhook and dashboard, finished and pushed on 14 June 2026. The build and lint pass with zero credentials.
- A step-by-step setup runbook covering the database, Stripe Connect and hosting, so going live is a checklist.
Not live yet. Going live needs the store's database, the Stripe Connect platform setup, hosting settings and DNS.
I can build something like this for your business.
Contact meQuestions about this project
Can a trade business sell merch from its own website instead of a separate store?
Yes. For Precision 2Pac I built the store into the same site as the service pages. One site handles both the painting enquiries and the merch, and the products, sizes, colours and stock all live in the site's own database.
Where does the money from a sale go?
Straight to the business's own Stripe account. The owner connects Stripe once from his dashboard, and each checkout is charged on his account. The site never holds his Stripe secret key.
Can the owner change stock and prices himself?
Yes. The dashboard has an inventory screen where he can change stock, prices, and whether a product shows on the shop, and the shop updates without a redeploy. Adding a brand-new product is currently a job I do in the database.
What stops the store selling something that's out of stock?
The server checks stock at checkout and refuses an order bigger than what's on the shelf, rather than quietly shrinking it. When the payment goes through, the order is marked paid and the stock comes off in a single step, so two people buying the last hoodie at once can't both get it.
I already have a website. Can you add a shop to it?
Usually, yes. Here the shop sits alongside the existing service pages, with its own cart, checkout and dashboard. Get in touch and I'll look at what your current site is built on.
Want to sell online from your own site?
Merch, products or gift cards alongside your services: I'll build the store, checkout and owner dashboard into a new or existing site.
Related case studies
All work
- Client project
- Live
Vending machine placement · Brisbane, QLD
Brisbane Smart Vending
A Wix replacement built to rank suburb by suburb across Brisbane
- 54 suburb pages
- Live since June 2026

- Client project
- Live
Tourism & asset management · Burleigh Heads, Gold Coast
GKD Tourism & Asset Management
A custom site that explains a specialised tourism-services firm to owners, operators and government buyers
- 4 service pages
- 8 long-form articles