Vela Works Canada

Demo build · online store · all nine modules

Bellwood & Ash: one demo client, the whole stack

Last updated

Full disclosure first: Bellwood & Ash is a fictional business, our demo client. It is a small-batch candle studio in Guelph with nine scents in three sizes. We built its storefront, then ran the same client through every other module we sell, so you can see what each one actually produces instead of reading a description of it. Everything below is real work you can inspect.

Screenshot of the Bellwood & Ash homepage, a warm cream and ink candle storefront.
bellwood-ash.vercel.app: open it, add a candle, view source
The Bellwood & Ash scent library, showing nine product cards with family and size filters.
The scent library: filter by family, switch size to reprice the range
The Bellwood & Ash demonstration checkout, showing an order summary beside a payment panel.
The checkout step, demonstrated without taking a payment

What the build included (demo project)

  • Seventeen pages: home, a filterable scent library, nine product pages, a collection page, a scent guide, the studio story, stockists, wholesale, and contact
  • A working cart with a slide-out drawer, quantity editing, a free-shipping threshold, and totals that survive a page reload
  • A checkout screen that shows the payment step exactly as a customer would meet it, with every field inert and a notice saying so
  • Twenty-seven SKUs generated from a single catalogue file, so a price or a burn time is corrected in one place and lands in nine
  • Built to WCAG AA: one h1 per page, labelled controls, full keyboard operation, and contrast verified in both light and dark themes
  • Everything readable with JavaScript switched off, because that is also what a crawler sees

No framework and no page builder. The whole site is 39 KB of CSS and 24 KB of JavaScript before compression, which is roughly what one stock hero image costs on a template store.

The SEO pass, before and after (demo project)

The storefront launched with deliberately weak search signals, the way most small business sites actually launch, and our process fixed them. Every row is verifiable in the page source:

Search visibility work on the Bellwood & Ash demo storefront, before and after Vela's SEO process. Bellwood & Ash is a fictional demo client.
FieldBeforeAfter
Homepage title tagHomeBellwood & Ash | Hand-Poured Soy Candles in Guelph, Ontario
Homepage headingWelcome to our shopCandles that smell like somewhere, not like something
Product page titles(all nine identical: “Product”)Harrowgate Cedar Candle | Woods & Smoke | Bellwood & Ash
Product structured data(none)Product + AggregateOffer on all nine, with three sized Offers each
Local signals(none)LocalBusiness schema, opening hours, Guelph and Wellington County service area
Content depth0 informational pagesA scent guide answering the six questions people actually search
Crawl signalsNo sitemap, no robots.txt17 indexable URLs, cart and checkout noindex and excluded

All nine modules, one demo client

Most agencies show you a website. The website is the part you can see, and it is usually the smallest part of the problem. Here is every module on our services page applied to the same fictional shop, each with something you can look at.

01

Website builds

The storefront itself: 17 pages, nine product pages generated from one catalogue file, a working cart, and a checkout that demonstrates the payment step without taking a payment.

Open it and click through. Every page is hand-built static HTML with no framework behind it.

02

Search visibility

Keyword research, page-by-page metadata, Product and LocalBusiness structured data, an internal linking pass, and a scent guide built around what people actually search.

The before-and-after table above, and the schema in the page source.

03

Ads & creative

A 10-second vertical Instagram ad built around what a photo can't carry: the strike of the match, the pour, and the wick catching. Cut for sound-on Reels, with the product saved for the last shot.

The sample ad below.

04

Marketing automation & stack builds

The stack first: email platform, signup forms, and ad tracking, connected in accounts the shop owns. Then an abandoned-cart sequence and a post-purchase sequence written to sound like the shop, with a suppression rule so a customer never gets both.

The sample email below.

05

Lead triage & routing

The wholesale form feeds a triage step that scores each enquiry against the shop's actual minimums and routes it. Real prospects reach a person the same day; the rest never take up studio time.

The sample triage table below.

06

Weekly business briefing

One email every Monday: what sold, what is running low, what needs a decision this week. Assembled from the store's own numbers, reviewed by a person before it sends.

The sample briefing below.

07

Margin watch

Unit costing for all 27 SKUs, tracked against supplier price changes, so a quiet increase in vessel cost surfaces as a number rather than as a bad quarter.

The sample margin table below.

08

Month-end reporting

A monthly profit and loss with cost of goods separated from operating expenses, gross margin called out, and plain-English notes on what moved.

The full sample month-end report, built for this same client.

09

Custom operations & automation

A stock watch that turns a low-inventory threshold into next Thursday's pour list, ordered by what will run out first, so a batch is scheduled before a bestseller goes dark.

The sample pour list below.

The deliverables themselves (sample, fictional client)

Six of those modules produce something you can look at rather than a page on the website: an ad, two emails, and three working documents. Every frame and figure below is invented for a business that does not exist, shown to demonstrate the format.

Instagram ad (sample, fictional client)

bellwoodandashSponsored
Shop now: Bellwood Fir on the demo storefront (opens in a new tab)
bellwoodandash Poured by hand in Guelph. Bellwood Fir is back for winter.

Sound on · 10 seconds · 9:16

A candle is hard to sell through a screen, because the part people buy is the part a photo can't carry. So this ad leans on sound: close, crisp, and quiet, the way ASMR is, which does the job the scent can't do through a phone.

  • The hook lands in the first second. The match is already striking before anyone has decided whether to keep scrolling.
  • The middle sells the handmade part without saying it: clay turning on a wheel, a slow pour over fir.
  • The product is saved for the last shot, lit, in the kind of room someone would actually burn it in, so the ad ends on the thing to buy.
  • Ten seconds, vertical, no voiceover and no text overlays, so one cut works across Reels, Stories, and the feed.

Shot by shot: a match is struck and touched to the wooden wick of a stoneware candle until the flame catches; hands shape a vessel on a turning pottery wheel; golden wax pours over fir sprigs in the vessel; and the finished candle burns on a wooden table beside a wool blanket, in front of a window onto misty forest.

Footage and sound are both generated, then cut to length. For a real client this module delivers a set of cuts and hooks to test against each other, with the campaign set up in the client's own ad account and nothing live until they approve it.

Abandoned cart, sent 4 hours after · Subject: You left a Harrowgate Cedar behind

Hi there,

You had a Harrowgate Cedar in your cart this afternoon and did not finish. No hard sell: it is still there if you want it, and it will stay there for a week.

If you were hesitating because you cannot smell it through a screen, that is fair. The Discovery Set is three travel tins, one from each family, and it costs less than one large candle. Most people who start there come back for a 9 oz of something.

Maya

Suppression rule: anyone who has bought in the last 30 days is excluded, and no customer receives more than one automated email in any 72 hour window. That rule is the difference between follow-up and nuisance.

Monday briefing · Subject: Bellwood & Ash: week of 17 August (sample)

Morning Maya. Three things this week.

  • Orchard Frost outsold everything again, second week running, and it is the one with the thinnest stock. Fourteen 9 oz left.
  • Wholesale enquiries are up: four last week against a usual one. Two are worth your time, and they are at the top of your inbox.
  • The Atelier vessel price went up again on the 12th. Your margin on that size is still healthy, but it has moved twice since June.

One decision to make: whether Thursday's pour is Orchard Frost or the Bellwood Fir restock. The stock numbers say Orchard Frost.

Margin watch (sample figures, fictional client)

Sample unit costing for three Bellwood & Ash candle sizes, showing wax and fragrance, vessel and packaging, labour, total unit cost, retail price and gross margin. Bellwood & Ash is a fictional demo client and every figure is invented.
SKUWax + fragranceVessel + packagingLabourUnit costRetailMargin
Travel tin, 5 oz$2.30$2.40$3.75$8.45$28.0069.8%
Signature jar, 9 oz$4.10$7.40$5.00$16.50$48.0065.6%
Atelier, 16 oz$7.20$11.65$6.25$25.10$78.0067.8%

What the module is for is the sentence underneath the table: in this sample, the Atelier vessel rose twice since June. The margin still holds at 67.8%, and a third increase takes it below the 65% floor the shop set. That is a decision made early rather than a surprise found at year end.

Lead triage (sample week, fictional client)

Sample wholesale enquiry triage for Bellwood & Ash, showing each enquiry, what it asked for, how it scored, and where it was routed. Bellwood & Ash is a fictional demo client.
EnquiryWhat it asked forScoreWhere it went
Independent gift shop, StratfordFull range, 36 unitsHotStraight to Maya, same day
Hotel group, Toronto480 units, own labelOut of scopeDeclined with a referral
Student, no shop namedAsking for a discount codeNot a leadAuto-reply, no human time
Homewares buyer, KingstonWants samples firstWarmSample pack queued, follow-up in 7 days

Two of those four were worth an owner's attention. The scoring runs against the shop's own stated minimums, and anything the rules cannot place confidently goes to a person rather than being guessed at.

Stock watch to pour list (sample, fictional client)

// low stock threshold reached, 3 SKUs

Orchard Frost, 9 oz     14 left   sells 11/wk   out in 9 days

Bellwood Fir, 16 oz     6 left    sells 3/wk    out in 14 days

Speed River Linen, 5 oz  22 left   sells 9/wk    out in 17 days

// Thursday pour list, ordered by what runs out first

1. Orchard Frost, 9 oz     batch of 60

2. Bellwood Fir, 16 oz     batch of 30

// Speed River Linen holds: 14 day cure means it would not ship sooner anyway

The last line is the part that matters. An automation that ignores the fourteen day cure schedules a pour that cannot help, which is why this kind of work gets built around a business rather than bought off a shelf.

What is real here and what is not

  • The build is real. Every page, the cart, the filtering, the schema, and the accessibility work exist and can be inspected.
  • The business is not. Bellwood & Ash, Maya, the stockists, and the reviews are invented. No real shop, product, or person is represented.
  • Every figure in the artifacts above is invented data chosen to demonstrate a format, not a client result. We have no client results to show yet and will not imply otherwise.
  • The checkout takes no payment. There is no payment provider connected, no keys, and no field that collects a card number.
  • The photography and the Instagram ad, footage and sound both, are generated rather than shot or filmed, and labelled as a demo throughout.

Details a real client would supply and we could not verify were left as placeholders rather than invented. That is the same rule every real client gets, and it is why this page exists in the form it does.

Want one of these with your name on it?

A storefront is one module of nine. Pick the ones that solve your actual problem, and leave the rest. Everything is quoted per project.