Nothing is built yet, but the look is decided. Below is the design Sam chose, shown as the home page, a product page, the bag, and how it all sits on a phone, because the shop working is the part that matters most. After that: how the shop gets built, what it costs to run, and what is still needed before the doors open on 1 November.
Everything you see is placeholder. The garment shapes are stand-in silhouettes, not product photos, and the product names, codes and prices are examples so the layouts read like a real shop. Your actual logo, photos and products drop straight in.
Tamed Psychotic runs a bought Shopify theme called Prestige with two free Google fonts. House of Errors runs a modified Shopify theme with a paid font kit. Only Karo Crafts is built from scratch, and that is the expensive one. So what makes a shop feel costly is not the platform. It is a handful of decisions, and most of them are free.
Acronym's whole navigation is SORT / IMG / TXT. You choose how to look at the catalogue: a wall of pictures, or a plain spreadsheet of every item with sizes, colours and stock. Nobody selling clothes in South Africa does this.
Acronym's grid shows J106-DS and SP62-M. No names, no prices. It reads like a parts catalogue, which makes the clothes feel engineered rather than merchandised.
Palace stacks its drops in one column and lights the live one in red as you scroll. The nav is a floating black pill and there is nothing else on the screen. The photography does all the work.
House of Errors' blue #254487 is never a highlight. It takes a whole section, background included. A section either is that colour or it is not. That is how we use red.
House of Errors sets body text at 12px and headlines up to 149px from one ratio. Nothing sits in the middle. That gap is what reads as expensive, and it is free.
Dime pins one word in the middle of the screen in the same colour as the background, so it is invisible until a photo scrolls behind it. Pure CSS, no library, and it makes scrolling feel authored.
Corteiz pins a live countdown to the bottom of every page: 02 : 01 : 16 : 58. It turns a small range into an event, and it is about fifteen lines of code.
Baker fills the entire header block with #E3201A and puts the logo on top in black. Red type on white looks like a sale. A red block with type on it looks like a brand.
Tamed Psychotic's image files are named DSC05300.jpg and IMG_2849.jpg. Camera and phone originals, unretouched. That mix is exactly why it cannot read as AI. This part is on you and a mate with a camera.
The shop as a photocopied zine taped to a wall. Newsprint paper, blown-out red ink, one screaming condensed face, typewriter text, everything very slightly crooked. This is the most skate of the three and the hardest to mistake for a template.
#BF1B1BYour red, from the logo#F4CEAAYour cream, from the logo#111110Xerox black#E9FF4FHighlighter, rare#E8BE96Second paperHome page, roughly
Clothes, caps and art from the side of the road
Handmade Cap
R250Embroidered Cap
R150Product page. A flyer for one thing
Made by hand, one at a time. Three of them exist. When they are gone that is genuinely it.
Free sticker in every order
On a phone
Clothes, caps and art from the side of the road
Handmade Cap
R250Embroidered Cap
R150The bag prints itself a receipt
Thanks. Go skate.
The coloursBlack structure, red ink, on your cream
From the side of the road
Handmade Cap
R250Embroidered Cap
R150The title fontBungee, set throughout
BungeeFree, and swappable in one line
Chill Pavement
The shop, locked until you say so
54 : 05 : 12 : 00
Days Hours Minutes Seconds
Doors at 15:00 · first access and 10% off
The crookedness is the point, and it is real CSS rotation rather than an image effect, so it stays sharp on every screen. The scrolling red strip is where sales, drops and free stickers get announced without a popup.
Rough is a fine line from cheap. It needs strong graphics on the actual garments to carry it, and the checkout has to stay perfectly plain and legible while the rest goes loud.
You want the site to feel like the brand's own voice shouting, and you are willing to make stickers, flyers and a zine to match.
None of this needs a big budget. Most of it is a few lines of CSS. Two of them are newer browser features, so they are built as a bonus: browsers that do not support them simply show the ordinary version, and nothing breaks.
A heading that stays put while photos scroll behind it, in the same colour as the background so it only appears where an image passes. Plain CSS, works in every browser.
A live clock to the next drop or the moment a drop closes. About fifteen lines of JavaScript. Working example sitting in direction 02 above.
One button that swaps the picture grid for a plain stock table. It is the same data rendered twice, so it costs almost nothing and no other local brand has it.
The zine texture in direction 03 is a CSS dot pattern, not an image file. It stays sharp on any screen and adds nothing to the page weight.
Independent Trucks ships a font called INDYFONT. If your logo has a full alphabet, we turn those letters into a real webfont and the site then uses type that exists nowhere else. A designer draws the missing letters once.
Native scroll-driven CSS animation. Works in Chrome, Edge and Safari 26; Firefox still has it behind a setting, so roughly 84 percent of visitors see it and the rest see the page sitting still. Nothing is lost.
Clicking a product can cross-fade instead of blinking white. Chrome, Edge and Safari 18 support it, Firefox is still building it. Where it is missing you get an ordinary page load, which is what everyone has always had.
Polar does this and it is the single cheapest tell. Every default shop theme makes the sale tag red. Changing one value stops the site looking like a template.
The plan you were reading is right about the important thing: never build card processing yourself, always wait for the payment provider to confirm server to server, and never trust the customer landing back on a thank-you page. That is exactly how this will work. The one place we go further is the cart, the stock counts, the orders and your admin screen. That plan has those hand-built. Ours does not, because that is the part that quietly breaks and loses money.
Bob Go sits between the shop and the couriers, so we integrate once and can use The Courier Guy, Aramex, RAM, Skynet and PostNet. It has a pay as you go tier at no monthly fee, so early on you only pay per parcel.
Flat rates you set yourself, which is the right call at your volume: something like R95 nationwide, free over R900. Simple, predictable, and it never quotes a customer a number that turns out wrong.
Live courier prices calculated per address at checkout are not available on Shopify Basic. That needs a higher plan. It is not worth the upgrade yet, and flat rates are better for a new brand anyway.
Order comes in, you press one button, a label prints, the tracking number goes to the customer automatically. You pack the parcel. That is the whole job.
Good tool, wrong country. Shippo's own carrier page only filters by USA, Canada, Australia, UK, Germany, France, Belgium and Italy. There is no South Africa, and no Courier Guy, PostNet or RAM. Outside those countries it falls back to DHL Express, FedEx and UPS on an account you open yourself, which for a parcel going Cape Town to Joburg costs several times what a local courier charges. Its 7 US cents a label is cheap, but the postage underneath it is not. Keeping Bob Go.
Webhooks with verified signatures, order marked paid only when the provider says so, card details never touching our server, and transactional email through a proper service rather than our own server.
That plan has you owning the cart, stock, orders and admin dashboard. Those are where price tampering, overselling the last hoodie, and lost orders live. Shopify runs them for about R400 a month and you get the admin screen for free. The site still looks entirely like yours.
Both questions have good answers, and together they change the plan for the better. You are not choosing between "a custom site" and "a Shopify store". A Shopify theme is our HTML, CSS and JavaScript in a folder, and the shop can be built and finished before the R400 a month ever starts.
Yes. Themes go in as a zip you build yourself, under Draft themes, Import theme. Limits are 50 MB for the theme and 20 MB per file, which is enormous for a site like this. Basic allows up to 20 themes, so we can keep versions side by side.
Shopify's GitHub integration syncs a theme both ways with a branch. Push to GitHub and the store updates; a change made in the admin commits back. So this stays a normal git project, which is what I wanted from Cloudflare anyway.
A development store is free through the Partner programme and has no time limit. It is password protected and cannot take real money, which is exactly right while there are no products and no photos. We build the entire thing there.
A development store that gets transferred does not carry the three month promotion across. So at launch we either transfer it and skip the promo, or open the real store with the promo and push the same theme into it. The theme is a repo and the products move as a spreadsheet, so moving is an afternoon, not a rebuild.
We drop the headless plan. A custom theme gets the same look with far less machinery, and cart, checkout, accounts and search all work natively instead of being wired up by hand. Less to build, less to break, and Sam can still edit everything himself.
The site is hosted by Shopify rather than on Gustav's Cloudflare. In exchange, hosting is included, and there is nothing to keep patched. The domain still sits on Cloudflare and points at the store, so chillpavement.co.za is unaffected.
Practically, that means the answer to "I do not want to buy it yet" is: do not. Buy it the week the first drop is photographed and ready to sell. Everything before that costs nothing, and the three months of cheap Shopify get spent on a shop that is actually taking orders instead of on a shop waiting for photos.
WooCommerce is a genuinely good answer and it is free, so this is worth taking seriously rather than waving away. It also beats Shopify on two counts that matter here: every South African payment gateway has an official free plugin, and it does live courier rates at checkout with no plan upgrade, which Shopify Basic will not do. On cash alone it wins by roughly R2 000 in the first year.
| Shopify, headless | WooCommerce | |
|---|---|---|
| Software | About R400 a month | Free |
| Where it lives | Shopify's servers | WordPress hosting, about R150 to R300 a month |
| Cut of each sale | 2% on top of the card fee | Nothing on top of the card fee |
| Year one at 100 orders | About R4 650 | About R2 400 |
| SA payment gateways | Yoco and Payfast, plus the 2% | Payfast, Yoco, Ozow, Paystack, all official and free |
| Live courier rates | Not on Basic | Yes, no upgrade needed |
| Who patches security | Shopify, continuously | Gustav, forever, or nobody |
| Custom front end | Built for it. Cart and checkout stay Shopify's | Possible, but the cart breaks across domains and checkout has to be rebuilt |
| Left alone for 6 months | Still fine | Unpatched WordPress holding customer addresses |
That last row is the whole decision. Everything above it says Woo. The problem is the part nobody plans for: WordPress is the most attacked software on the web, it needs its updates applied, and Sam cannot do that himself. Gustav is one person with other work, and a shop that quietly stops being maintained is holding real customers' names, addresses and email addresses when it gets hit.
So the honest framing is not "Shopify is better". It is that Shopify's roughly R2 000 a year is buying somebody else's night shift. For a first store with no orders yet, that is worth paying. Switch to WooCommerce the day either of these is true: sales pass about R250 000 a year, where the 2% alone outgrows the whole hosting bill, or shipping cost variance starts hurting enough that live courier rates are worth having. Both are good problems. Neither is today.
The build is on the house. What you cannot avoid is the running cost, because taking real card payments means someone has to carry the bank side of it. Here is the honest version.
Everything in these three directions is custom code that we own, built as a Shopify theme and kept in a normal GitHub repo. Shopify does the boring dangerous parts: the card payment, your orders, your stock counts, customer addresses. Card details never touch code I wrote, which is the single most important decision here, and you can add products and see orders yourself without phoning me. Hosting is included, so there is no server to keep patched.
Card payments run through Yoco or Paystack. Both onboard a sole trader with just an ID and a bank account, so you do not need a registered company to start. Shipping through Bob Go costs nothing monthly on its pay as you go tier, and the courier fee comes out of the R95 the customer already paid.
Prepared for Sam. Updated 8 September 2026 from your notes. Nothing built yet.
Colours, fonts and layouts here are all real and ready to use. Photography and products are
placeholders.